]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.inline] cmd/compile/internal/ssa: rename various fields from Line to Pos
authorRobert Griesemer <gri@golang.org>
Thu, 8 Dec 2016 02:14:35 +0000 (18:14 -0800)
committerRobert Griesemer <gri@golang.org>
Thu, 8 Dec 2016 21:36:52 +0000 (21:36 +0000)
This is a mostly mechanical rename followed by manual fixes where necessary.

Change-Id: Ie5c670b133db978f15dc03e50dc2da0c80fc8842
Reviewed-on: https://go-review.googlesource.com/34137
Reviewed-by: David Lazar <lazard@golang.org>
41 files changed:
src/cmd/compile/internal/amd64/ssa.go
src/cmd/compile/internal/arm/ssa.go
src/cmd/compile/internal/arm64/ssa.go
src/cmd/compile/internal/gc/phi.go
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/mips/ssa.go
src/cmd/compile/internal/mips64/ssa.go
src/cmd/compile/internal/ppc64/ssa.go
src/cmd/compile/internal/s390x/ssa.go
src/cmd/compile/internal/ssa/block.go
src/cmd/compile/internal/ssa/checkbce.go
src/cmd/compile/internal/ssa/critical.go
src/cmd/compile/internal/ssa/decompose.go
src/cmd/compile/internal/ssa/func.go
src/cmd/compile/internal/ssa/gen/generic.rules
src/cmd/compile/internal/ssa/gen/rulegen.go
src/cmd/compile/internal/ssa/likelyadjust.go
src/cmd/compile/internal/ssa/loopbce.go
src/cmd/compile/internal/ssa/nilcheck.go
src/cmd/compile/internal/ssa/phielim.go
src/cmd/compile/internal/ssa/phiopt.go
src/cmd/compile/internal/ssa/print.go
src/cmd/compile/internal/ssa/prove.go
src/cmd/compile/internal/ssa/regalloc.go
src/cmd/compile/internal/ssa/rewrite.go
src/cmd/compile/internal/ssa/rewrite386.go
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/cmd/compile/internal/ssa/rewriteARM.go
src/cmd/compile/internal/ssa/rewriteARM64.go
src/cmd/compile/internal/ssa/rewriteMIPS.go
src/cmd/compile/internal/ssa/rewriteMIPS64.go
src/cmd/compile/internal/ssa/rewritePPC64.go
src/cmd/compile/internal/ssa/rewriteS390X.go
src/cmd/compile/internal/ssa/rewritedec.go
src/cmd/compile/internal/ssa/rewritedec64.go
src/cmd/compile/internal/ssa/rewritegeneric.go
src/cmd/compile/internal/ssa/schedule.go
src/cmd/compile/internal/ssa/shortcircuit.go
src/cmd/compile/internal/ssa/value.go
src/cmd/compile/internal/ssa/writebarrier.go
src/cmd/compile/internal/x86/ssa.go

index 0ddfbd5e7aed441900c496230b23291267003662..93deb3758bf50e630e07f5a3d18265b774e6c8b5 100644 (file)
@@ -147,7 +147,7 @@ func duff(size int64) (int64, int64) {
 }
 
 func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
-       s.SetPos(v.Line)
+       s.SetPos(v.Pos)
        switch v.Op {
        case ssa.OpAMD64ADDQ, ssa.OpAMD64ADDL:
                r := v.Reg()
@@ -875,8 +875,8 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                p.To.Type = obj.TYPE_MEM
                p.To.Reg = v.Args[0].Reg()
                gc.AddAux(&p.To, v)
-               if gc.Debug_checknil != 0 && v.Line.Line() > 1 { // v.Line.Line()==1 in generated wrappers
-                       gc.Warnl(v.Line, "generated nil check")
+               if gc.Debug_checknil != 0 && v.Pos.Line() > 1 { // v.Pos.Line()==1 in generated wrappers
+                       gc.Warnl(v.Pos, "generated nil check")
                }
        case ssa.OpAMD64MOVLatomicload, ssa.OpAMD64MOVQatomicload:
                p := gc.Prog(v.Op.Asm())
@@ -962,7 +962,7 @@ var nefJumps = [2][2]gc.FloatingEQNEJump{
 }
 
 func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
-       s.SetPos(b.Line)
+       s.SetPos(b.Pos)
 
        switch b.Kind {
        case ssa.BlockPlain:
index 042edc5552666f72a027fc981472f58fff4b6aa9..a769351378572aa76ac687069df2162fc62788a5 100644 (file)
@@ -118,7 +118,7 @@ func genregshift(as obj.As, r0, r1, r2, r int16, typ int64) *obj.Prog {
 }
 
 func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
-       s.SetPos(v.Line)
+       s.SetPos(v.Pos)
        switch v.Op {
        case ssa.OpInitMem:
                // memory arg needs no code
@@ -705,8 +705,8 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                gc.AddAux(&p.From, v)
                p.To.Type = obj.TYPE_REG
                p.To.Reg = arm.REGTMP
-               if gc.Debug_checknil != 0 && v.Line.Line() > 1 { // v.Line.Line()==1 in generated wrappers
-                       gc.Warnl(v.Line, "generated nil check")
+               if gc.Debug_checknil != 0 && v.Pos.Line() > 1 { // v.Pos.Line()==1 in generated wrappers
+                       gc.Warnl(v.Pos, "generated nil check")
                }
        case ssa.OpARMLoweredZero:
                // MOVW.P       Rarg2, 4(R1)
@@ -861,7 +861,7 @@ var blockJump = map[ssa.BlockKind]struct {
 }
 
 func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
-       s.SetPos(b.Line)
+       s.SetPos(b.Pos)
 
        switch b.Kind {
        case ssa.BlockPlain:
index c1b777e1b5e07675b9b4067fc24ea3214951e652..0e44ccdcae91706cd5fda45783b8968224d78c8c 100644 (file)
@@ -92,7 +92,7 @@ func genshift(as obj.As, r0, r1, r int16, typ int64, s int64) *obj.Prog {
 }
 
 func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
-       s.SetPos(v.Line)
+       s.SetPos(v.Pos)
        switch v.Op {
        case ssa.OpInitMem:
                // memory arg needs no code
@@ -690,8 +690,8 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                gc.AddAux(&p.From, v)
                p.To.Type = obj.TYPE_REG
                p.To.Reg = arm64.REGTMP
-               if gc.Debug_checknil != 0 && v.Line.Line() > 1 { // v.Line==1 in generated wrappers
-                       gc.Warnl(v.Line, "generated nil check")
+               if gc.Debug_checknil != 0 && v.Pos.Line() > 1 { // v.Line==1 in generated wrappers
+                       gc.Warnl(v.Pos, "generated nil check")
                }
        case ssa.OpVarDef:
                gc.Gvardef(v.Aux.(*gc.Node))
@@ -768,7 +768,7 @@ var blockJump = map[ssa.BlockKind]struct {
 }
 
 func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
-       s.SetPos(b.Line)
+       s.SetPos(b.Pos)
 
        switch b.Kind {
        case ssa.BlockPlain:
index 309ad43bb8d68e514e68347190e61214913168b0..330d6b4526bb789c1ca22cb965bb9cc7956cd283 100644 (file)
@@ -234,7 +234,7 @@ func (s *phiState) insertVarPhis(n int, var_ *Node, defs []*ssa.Block, typ ssa.T
                                if !hasPhi.contains(c.ID) {
                                        // Add a phi to block c for variable n.
                                        hasPhi.add(c.ID)
-                                       v := c.NewValue0I(currentRoot.Line, ssa.OpPhi, typ, int64(n)) // TODO: line number right?
+                                       v := c.NewValue0I(currentRoot.Pos, ssa.OpPhi, typ, int64(n)) // TODO: line number right?
                                        // Note: we store the variable number in the phi's AuxInt field. Used temporarily by phi building.
                                        s.s.addNamedValue(var_, v)
                                        for i := 0; i < len(c.Preds); i++ {
@@ -467,7 +467,7 @@ loop:
                // Find variable value on each predecessor.
                args = args[:0]
                for _, e := range b.Preds {
-                       args = append(args, s.lookupVarOutgoing(e.Block(), v.Type, var_, v.Line))
+                       args = append(args, s.lookupVarOutgoing(e.Block(), v.Type, var_, v.Pos))
                }
 
                // Decide if we need a phi or not. We need a phi if there
index 6adae5627b0bd0ece140814947f2b8b7a2c6c0a2..a6a8deadc3ea035d1dd54a11c03e82b5f8fb1483 100644 (file)
@@ -281,7 +281,7 @@ func (s *state) label(sym *Sym) *ssaLabel {
 
 func (s *state) Logf(msg string, args ...interface{})   { s.config.Logf(msg, args...) }
 func (s *state) Log() bool                              { return s.config.Log() }
-func (s *state) Fatalf(msg string, args ...interface{}) { s.config.Fatalf(s.peekLine(), msg, args...) }
+func (s *state) Fatalf(msg string, args ...interface{}) { s.config.Fatalf(s.peekPos(), msg, args...) }
 func (s *state) Warnl(line src.Pos, msg string, args ...interface{}) {
        s.config.Warnl(line, msg, args...)
 }
@@ -326,7 +326,7 @@ func (s *state) endBlock() *ssa.Block {
        s.defvars[b.ID] = s.vars
        s.curBlock = nil
        s.vars = nil
-       b.Line = s.peekLine()
+       b.Pos = s.peekPos()
        return b
 }
 
@@ -335,7 +335,7 @@ func (s *state) pushLine(line src.Pos) {
        if !line.IsKnown() {
                // the frontend may emit node with line number missing,
                // use the parent line number in this case.
-               line = s.peekLine()
+               line = s.peekPos()
                if Debug['K'] != 0 {
                        Warn("buildssa: unknown position (line 0)")
                }
@@ -348,130 +348,130 @@ func (s *state) popLine() {
        s.line = s.line[:len(s.line)-1]
 }
 
-// peekLine peek the top of the line number stack.
-func (s *state) peekLine() src.Pos {
+// peekPos peeks the top of the line number stack.
+func (s *state) peekPos() src.Pos {
        return s.line[len(s.line)-1]
 }
 
 func (s *state) Error(msg string, args ...interface{}) {
-       yyerrorl(s.peekLine(), msg, args...)
+       yyerrorl(s.peekPos(), msg, args...)
 }
 
 // newValue0 adds a new value with no arguments to the current block.
 func (s *state) newValue0(op ssa.Op, t ssa.Type) *ssa.Value {
-       return s.curBlock.NewValue0(s.peekLine(), op, t)
+       return s.curBlock.NewValue0(s.peekPos(), op, t)
 }
 
 // newValue0A adds a new value with no arguments and an aux value to the current block.
 func (s *state) newValue0A(op ssa.Op, t ssa.Type, aux interface{}) *ssa.Value {
-       return s.curBlock.NewValue0A(s.peekLine(), op, t, aux)
+       return s.curBlock.NewValue0A(s.peekPos(), op, t, aux)
 }
 
 // newValue0I adds a new value with no arguments and an auxint value to the current block.
 func (s *state) newValue0I(op ssa.Op, t ssa.Type, auxint int64) *ssa.Value {
-       return s.curBlock.NewValue0I(s.peekLine(), op, t, auxint)
+       return s.curBlock.NewValue0I(s.peekPos(), op, t, auxint)
 }
 
 // newValue1 adds a new value with one argument to the current block.
 func (s *state) newValue1(op ssa.Op, t ssa.Type, arg *ssa.Value) *ssa.Value {
-       return s.curBlock.NewValue1(s.peekLine(), op, t, arg)
+       return s.curBlock.NewValue1(s.peekPos(), op, t, arg)
 }
 
 // newValue1A adds a new value with one argument and an aux value to the current block.
 func (s *state) newValue1A(op ssa.Op, t ssa.Type, aux interface{}, arg *ssa.Value) *ssa.Value {
-       return s.curBlock.NewValue1A(s.peekLine(), op, t, aux, arg)
+       return s.curBlock.NewValue1A(s.peekPos(), op, t, aux, arg)
 }
 
 // newValue1I adds a new value with one argument and an auxint value to the current block.
 func (s *state) newValue1I(op ssa.Op, t ssa.Type, aux int64, arg *ssa.Value) *ssa.Value {
-       return s.curBlock.NewValue1I(s.peekLine(), op, t, aux, arg)
+       return s.curBlock.NewValue1I(s.peekPos(), op, t, aux, arg)
 }
 
 // newValue2 adds a new value with two arguments to the current block.
 func (s *state) newValue2(op ssa.Op, t ssa.Type, arg0, arg1 *ssa.Value) *ssa.Value {
-       return s.curBlock.NewValue2(s.peekLine(), op, t, arg0, arg1)
+       return s.curBlock.NewValue2(s.peekPos(), op, t, arg0, arg1)
 }
 
 // newValue2I adds a new value with two arguments and an auxint value to the current block.
 func (s *state) newValue2I(op ssa.Op, t ssa.Type, aux int64, arg0, arg1 *ssa.Value) *ssa.Value {
-       return s.curBlock.NewValue2I(s.peekLine(), op, t, aux, arg0, arg1)
+       return s.curBlock.NewValue2I(s.peekPos(), op, t, aux, arg0, arg1)
 }
 
 // newValue3 adds a new value with three arguments to the current block.
 func (s *state) newValue3(op ssa.Op, t ssa.Type, arg0, arg1, arg2 *ssa.Value) *ssa.Value {
-       return s.curBlock.NewValue3(s.peekLine(), op, t, arg0, arg1, arg2)
+       return s.curBlock.NewValue3(s.peekPos(), op, t, arg0, arg1, arg2)
 }
 
 // newValue3I adds a new value with three arguments and an auxint value to the current block.
 func (s *state) newValue3I(op ssa.Op, t ssa.Type, aux int64, arg0, arg1, arg2 *ssa.Value) *ssa.Value {
-       return s.curBlock.NewValue3I(s.peekLine(), op, t, aux, arg0, arg1, arg2)
+       return s.curBlock.NewValue3I(s.peekPos(), op, t, aux, arg0, arg1, arg2)
 }
 
 // newValue4 adds a new value with four arguments to the current block.
 func (s *state) newValue4(op ssa.Op, t ssa.Type, arg0, arg1, arg2, arg3 *ssa.Value) *ssa.Value {
-       return s.curBlock.NewValue4(s.peekLine(), op, t, arg0, arg1, arg2, arg3)
+       return s.curBlock.NewValue4(s.peekPos(), op, t, arg0, arg1, arg2, arg3)
 }
 
 // entryNewValue0 adds a new value with no arguments to the entry block.
 func (s *state) entryNewValue0(op ssa.Op, t ssa.Type) *ssa.Value {
-       return s.f.Entry.NewValue0(s.peekLine(), op, t)
+       return s.f.Entry.NewValue0(s.peekPos(), op, t)
 }
 
 // entryNewValue0A adds a new value with no arguments and an aux value to the entry block.
 func (s *state) entryNewValue0A(op ssa.Op, t ssa.Type, aux interface{}) *ssa.Value {
-       return s.f.Entry.NewValue0A(s.peekLine(), op, t, aux)
+       return s.f.Entry.NewValue0A(s.peekPos(), op, t, aux)
 }
 
 // entryNewValue0I adds a new value with no arguments and an auxint value to the entry block.
 func (s *state) entryNewValue0I(op ssa.Op, t ssa.Type, auxint int64) *ssa.Value {
-       return s.f.Entry.NewValue0I(s.peekLine(), op, t, auxint)
+       return s.f.Entry.NewValue0I(s.peekPos(), op, t, auxint)
 }
 
 // entryNewValue1 adds a new value with one argument to the entry block.
 func (s *state) entryNewValue1(op ssa.Op, t ssa.Type, arg *ssa.Value) *ssa.Value {
-       return s.f.Entry.NewValue1(s.peekLine(), op, t, arg)
+       return s.f.Entry.NewValue1(s.peekPos(), op, t, arg)
 }
 
 // entryNewValue1 adds a new value with one argument and an auxint value to the entry block.
 func (s *state) entryNewValue1I(op ssa.Op, t ssa.Type, auxint int64, arg *ssa.Value) *ssa.Value {
-       return s.f.Entry.NewValue1I(s.peekLine(), op, t, auxint, arg)
+       return s.f.Entry.NewValue1I(s.peekPos(), op, t, auxint, arg)
 }
 
 // entryNewValue1A adds a new value with one argument and an aux value to the entry block.
 func (s *state) entryNewValue1A(op ssa.Op, t ssa.Type, aux interface{}, arg *ssa.Value) *ssa.Value {
-       return s.f.Entry.NewValue1A(s.peekLine(), op, t, aux, arg)
+       return s.f.Entry.NewValue1A(s.peekPos(), op, t, aux, arg)
 }
 
 // entryNewValue2 adds a new value with two arguments to the entry block.
 func (s *state) entryNewValue2(op ssa.Op, t ssa.Type, arg0, arg1 *ssa.Value) *ssa.Value {
-       return s.f.Entry.NewValue2(s.peekLine(), op, t, arg0, arg1)
+       return s.f.Entry.NewValue2(s.peekPos(), op, t, arg0, arg1)
 }
 
 // const* routines add a new const value to the entry block.
-func (s *state) constSlice(t ssa.Type) *ssa.Value       { return s.f.ConstSlice(s.peekLine(), t) }
-func (s *state) constInterface(t ssa.Type) *ssa.Value   { return s.f.ConstInterface(s.peekLine(), t) }
-func (s *state) constNil(t ssa.Type) *ssa.Value         { return s.f.ConstNil(s.peekLine(), t) }
-func (s *state) constEmptyString(t ssa.Type) *ssa.Value { return s.f.ConstEmptyString(s.peekLine(), t) }
+func (s *state) constSlice(t ssa.Type) *ssa.Value       { return s.f.ConstSlice(s.peekPos(), t) }
+func (s *state) constInterface(t ssa.Type) *ssa.Value   { return s.f.ConstInterface(s.peekPos(), t) }
+func (s *state) constNil(t ssa.Type) *ssa.Value         { return s.f.ConstNil(s.peekPos(), t) }
+func (s *state) constEmptyString(t ssa.Type) *ssa.Value { return s.f.ConstEmptyString(s.peekPos(), t) }
 func (s *state) constBool(c bool) *ssa.Value {
-       return s.f.ConstBool(s.peekLine(), Types[TBOOL], c)
+       return s.f.ConstBool(s.peekPos(), Types[TBOOL], c)
 }
 func (s *state) constInt8(t ssa.Type, c int8) *ssa.Value {
-       return s.f.ConstInt8(s.peekLine(), t, c)
+       return s.f.ConstInt8(s.peekPos(), t, c)
 }
 func (s *state) constInt16(t ssa.Type, c int16) *ssa.Value {
-       return s.f.ConstInt16(s.peekLine(), t, c)
+       return s.f.ConstInt16(s.peekPos(), t, c)
 }
 func (s *state) constInt32(t ssa.Type, c int32) *ssa.Value {
-       return s.f.ConstInt32(s.peekLine(), t, c)
+       return s.f.ConstInt32(s.peekPos(), t, c)
 }
 func (s *state) constInt64(t ssa.Type, c int64) *ssa.Value {
-       return s.f.ConstInt64(s.peekLine(), t, c)
+       return s.f.ConstInt64(s.peekPos(), t, c)
 }
 func (s *state) constFloat32(t ssa.Type, c float64) *ssa.Value {
-       return s.f.ConstFloat32(s.peekLine(), t, c)
+       return s.f.ConstFloat32(s.peekPos(), t, c)
 }
 func (s *state) constFloat64(t ssa.Type, c float64) *ssa.Value {
-       return s.f.ConstFloat64(s.peekLine(), t, c)
+       return s.f.ConstFloat64(s.peekPos(), t, c)
 }
 func (s *state) constInt(t ssa.Type, c int64) *ssa.Value {
        if s.config.IntSize == 8 {
@@ -3315,7 +3315,7 @@ func (s *state) check(cmp *ssa.Value, fn *Node) {
        b.SetControl(cmp)
        b.Likely = ssa.BranchLikely
        bNext := s.f.NewBlock(ssa.BlockPlain)
-       line := s.peekLine()
+       line := s.peekPos()
        bPanic := s.panics[funcLine{fn, line}]
        if bPanic == nil {
                bPanic = s.f.NewBlock(ssa.BlockPlain)
@@ -3427,7 +3427,7 @@ func (s *state) insertWBmove(t *Type, left, right *ssa.Value, line src.Pos, righ
                s.Error("write barrier prohibited")
        }
        if !s.WBPos.IsKnown() {
-               s.WBPos = left.Line
+               s.WBPos = left.Pos
        }
 
        var val *ssa.Value
@@ -3468,7 +3468,7 @@ func (s *state) insertWBstore(t *Type, left, right *ssa.Value, line src.Pos, ski
                s.Error("write barrier prohibited")
        }
        if !s.WBPos.IsKnown() {
-               s.WBPos = left.Line
+               s.WBPos = left.Pos
        }
        s.storeTypeScalars(t, left, right, skip)
        s.storeTypePtrsWB(t, left, right)
index 51b594fc529fd1d232583a6c1c87301c7d9f094e..d11687861989ec4122aebd6409e43bb6d169385b 100644 (file)
@@ -74,7 +74,7 @@ func storeByType(t ssa.Type, r int16) obj.As {
 }
 
 func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
-       s.SetPos(v.Line)
+       s.SetPos(v.Pos)
        switch v.Op {
        case ssa.OpInitMem:
                // memory arg needs no code
@@ -796,8 +796,8 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                gc.AddAux(&p.From, v)
                p.To.Type = obj.TYPE_REG
                p.To.Reg = mips.REGTMP
-               if gc.Debug_checknil != 0 && v.Line.Line() > 1 { // v.Line==1 in generated wrappers
-                       gc.Warnl(v.Line, "generated nil check")
+               if gc.Debug_checknil != 0 && v.Pos.Line() > 1 { // v.Pos.Line()==1 in generated wrappers
+                       gc.Warnl(v.Pos, "generated nil check")
                }
        case ssa.OpMIPSFPFlagTrue,
                ssa.OpMIPSFPFlagFalse:
@@ -841,7 +841,7 @@ var blockJump = map[ssa.BlockKind]struct {
 }
 
 func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
-       s.SetPos(b.Line)
+       s.SetPos(b.Pos)
 
        switch b.Kind {
        case ssa.BlockPlain:
index 482c2fb8360332fb0315d5fee10700bc9d399494..0d7b72430b3d90699768cf2f73d306fca0c0ab9a 100644 (file)
@@ -82,7 +82,7 @@ func storeByType(t ssa.Type, r int16) obj.As {
 }
 
 func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
-       s.SetPos(v.Line)
+       s.SetPos(v.Pos)
        switch v.Op {
        case ssa.OpInitMem:
                // memory arg needs no code
@@ -548,8 +548,8 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                gc.AddAux(&p.From, v)
                p.To.Type = obj.TYPE_REG
                p.To.Reg = mips.REGTMP
-               if gc.Debug_checknil != 0 && v.Line.Line() > 1 { // v.Line==1 in generated wrappers
-                       gc.Warnl(v.Line, "generated nil check")
+               if gc.Debug_checknil != 0 && v.Pos.Line() > 1 { // v.Pos.Line()==1 in generated wrappers
+                       gc.Warnl(v.Pos, "generated nil check")
                }
        case ssa.OpVarDef:
                gc.Gvardef(v.Aux.(*gc.Node))
@@ -606,7 +606,7 @@ var blockJump = map[ssa.BlockKind]struct {
 }
 
 func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
-       s.SetPos(b.Line)
+       s.SetPos(b.Pos)
 
        switch b.Kind {
        case ssa.BlockPlain:
index 6c30381192febe1fc0e2cec59a7a62bb46854300..2219782c72ee70e221af392c993017fde977a509 100644 (file)
@@ -143,7 +143,7 @@ func ssaGenISEL(v *ssa.Value, cr int64, r1, r2 int16) {
 }
 
 func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
-       s.SetPos(v.Line)
+       s.SetPos(v.Pos)
        switch v.Op {
        case ssa.OpInitMem:
                // memory arg needs no code
@@ -803,8 +803,8 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                gc.AddAux(&p.From, v)
                p.To.Type = obj.TYPE_REG
                p.To.Reg = ppc64.REGTMP
-               if gc.Debug_checknil != 0 && v.Line.Line() > 1 { // v.Line==1 in generated wrappers
-                       gc.Warnl(v.Line, "generated nil check")
+               if gc.Debug_checknil != 0 && v.Pos.Line() > 1 { // v.Pos.Line()==1 in generated wrappers
+                       gc.Warnl(v.Pos, "generated nil check")
                }
 
        case ssa.OpPPC64InvertFlags:
@@ -837,7 +837,7 @@ var blockJump = [...]struct {
 }
 
 func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
-       s.SetPos(b.Line)
+       s.SetPos(b.Pos)
 
        switch b.Kind {
 
index 4cf50d3b84a8fa0ab9c8694f956ef96b0045d351..1adf399c34e19c9e0628d3b97db3c1f04cf396f2 100644 (file)
@@ -156,7 +156,7 @@ func opregregimm(op obj.As, dest, src int16, off int64) *obj.Prog {
 }
 
 func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
-       s.SetPos(v.Line)
+       s.SetPos(v.Pos)
        switch v.Op {
        case ssa.OpS390XSLD, ssa.OpS390XSLW,
                ssa.OpS390XSRD, ssa.OpS390XSRW,
@@ -570,8 +570,8 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                gc.AddAux(&p.From, v)
                p.To.Type = obj.TYPE_REG
                p.To.Reg = s390x.REGTMP
-               if gc.Debug_checknil != 0 && v.Line.Line() > 1 { // v.Line==1 in generated wrappers
-                       gc.Warnl(v.Line, "generated nil check")
+               if gc.Debug_checknil != 0 && v.Pos.Line() > 1 { // v.Pos.Line()==1 in generated wrappers
+                       gc.Warnl(v.Pos, "generated nil check")
                }
        case ssa.OpS390XMVC:
                vo := v.AuxValAndOff()
@@ -796,7 +796,7 @@ var blockJump = [...]struct {
 }
 
 func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
-       s.SetPos(b.Line)
+       s.SetPos(b.Pos)
 
        switch b.Kind {
        case ssa.BlockPlain:
index 57e657bacc14d7553d2c137e9ec55382e22cf0a9..0e82873e5281a0a1205b821e136f95d66d823f66 100644 (file)
@@ -15,8 +15,8 @@ type Block struct {
        // these IDs densely, but no guarantees.
        ID ID
 
-       // Line number for block's control operation
-       Line src.Pos
+       // Source position for block's control operation
+       Pos src.Pos
 
        // The kind of block this is.
        Kind BlockKind
index 820ea6e80991c01c0758e9e165d5232daa2b6463..018a4bcc907206b814c1b3c138afc687231b338f 100644 (file)
@@ -16,7 +16,7 @@ func checkbce(f *Func) {
        for _, b := range f.Blocks {
                for _, v := range b.Values {
                        if v.Op == OpIsInBounds || v.Op == OpIsSliceInBounds {
-                               f.Config.Warnl(v.Line, "Found %v", v.Op)
+                               f.Config.Warnl(v.Pos, "Found %v", v.Op)
                        }
                }
        }
index 38cd3cbb29bdd27fc4dee762a027ee35493df769..72aa976327434dbab4068ed993efb71a7f21175f 100644 (file)
@@ -60,10 +60,10 @@ func critical(f *Func) {
                                        // since we're iterating over len(f.Blocks) above, this forces
                                        // the new blocks to be re-examined.
                                        d = f.NewBlock(BlockPlain)
-                                       d.Line = p.Line
+                                       d.Pos = p.Pos
                                        blocks[argID] = d
                                        if f.pass.debug > 0 {
-                                               f.Config.Warnl(p.Line, "split critical edge")
+                                               f.Config.Warnl(p.Pos, "split critical edge")
                                        }
                                } else {
                                        reusedBlock = true
@@ -72,9 +72,9 @@ func critical(f *Func) {
                                // no existing block, so allocate a new block
                                // to place on the edge
                                d = f.NewBlock(BlockPlain)
-                               d.Line = p.Line
+                               d.Pos = p.Pos
                                if f.pass.debug > 0 {
-                                       f.Config.Warnl(p.Line, "split critical edge")
+                                       f.Config.Warnl(p.Pos, "split critical edge")
                                }
                        }
 
index b2ee2f0a2bf26a8b52b628a6201ede00e3cbed05..6f9093bbb5e3026f9002542a255cf1da061424dc 100644 (file)
@@ -35,8 +35,8 @@ func decomposeBuiltIn(f *Func) {
                        hiName, loName := f.Config.fe.SplitInt64(name)
                        newNames = append(newNames, hiName, loName)
                        for _, v := range f.NamedValues[name] {
-                               hi := v.Block.NewValue1(v.Line, OpInt64Hi, elemType, v)
-                               lo := v.Block.NewValue1(v.Line, OpInt64Lo, f.Config.fe.TypeUInt32(), v)
+                               hi := v.Block.NewValue1(v.Pos, OpInt64Hi, elemType, v)
+                               lo := v.Block.NewValue1(v.Pos, OpInt64Lo, f.Config.fe.TypeUInt32(), v)
                                f.NamedValues[hiName] = append(f.NamedValues[hiName], hi)
                                f.NamedValues[loName] = append(f.NamedValues[loName], lo)
                        }
@@ -51,8 +51,8 @@ func decomposeBuiltIn(f *Func) {
                        rName, iName := f.Config.fe.SplitComplex(name)
                        newNames = append(newNames, rName, iName)
                        for _, v := range f.NamedValues[name] {
-                               r := v.Block.NewValue1(v.Line, OpComplexReal, elemType, v)
-                               i := v.Block.NewValue1(v.Line, OpComplexImag, elemType, v)
+                               r := v.Block.NewValue1(v.Pos, OpComplexReal, elemType, v)
+                               i := v.Block.NewValue1(v.Pos, OpComplexImag, elemType, v)
                                f.NamedValues[rName] = append(f.NamedValues[rName], r)
                                f.NamedValues[iName] = append(f.NamedValues[iName], i)
                        }
@@ -63,8 +63,8 @@ func decomposeBuiltIn(f *Func) {
                        ptrName, lenName := f.Config.fe.SplitString(name)
                        newNames = append(newNames, ptrName, lenName)
                        for _, v := range f.NamedValues[name] {
-                               ptr := v.Block.NewValue1(v.Line, OpStringPtr, ptrType, v)
-                               len := v.Block.NewValue1(v.Line, OpStringLen, lenType, v)
+                               ptr := v.Block.NewValue1(v.Pos, OpStringPtr, ptrType, v)
+                               len := v.Block.NewValue1(v.Pos, OpStringLen, lenType, v)
                                f.NamedValues[ptrName] = append(f.NamedValues[ptrName], ptr)
                                f.NamedValues[lenName] = append(f.NamedValues[lenName], len)
                        }
@@ -75,9 +75,9 @@ func decomposeBuiltIn(f *Func) {
                        ptrName, lenName, capName := f.Config.fe.SplitSlice(name)
                        newNames = append(newNames, ptrName, lenName, capName)
                        for _, v := range f.NamedValues[name] {
-                               ptr := v.Block.NewValue1(v.Line, OpSlicePtr, ptrType, v)
-                               len := v.Block.NewValue1(v.Line, OpSliceLen, lenType, v)
-                               cap := v.Block.NewValue1(v.Line, OpSliceCap, lenType, v)
+                               ptr := v.Block.NewValue1(v.Pos, OpSlicePtr, ptrType, v)
+                               len := v.Block.NewValue1(v.Pos, OpSliceLen, lenType, v)
+                               cap := v.Block.NewValue1(v.Pos, OpSliceCap, lenType, v)
                                f.NamedValues[ptrName] = append(f.NamedValues[ptrName], ptr)
                                f.NamedValues[lenName] = append(f.NamedValues[lenName], len)
                                f.NamedValues[capName] = append(f.NamedValues[capName], cap)
@@ -88,8 +88,8 @@ func decomposeBuiltIn(f *Func) {
                        typeName, dataName := f.Config.fe.SplitInterface(name)
                        newNames = append(newNames, typeName, dataName)
                        for _, v := range f.NamedValues[name] {
-                               typ := v.Block.NewValue1(v.Line, OpITab, ptrType, v)
-                               data := v.Block.NewValue1(v.Line, OpIData, ptrType, v)
+                               typ := v.Block.NewValue1(v.Pos, OpITab, ptrType, v)
+                               data := v.Block.NewValue1(v.Pos, OpIData, ptrType, v)
                                f.NamedValues[typeName] = append(f.NamedValues[typeName], typ)
                                f.NamedValues[dataName] = append(f.NamedValues[dataName], data)
                        }
@@ -133,11 +133,11 @@ func decomposeStringPhi(v *Value) {
        ptrType := fe.TypeBytePtr()
        lenType := fe.TypeInt()
 
-       ptr := v.Block.NewValue0(v.Line, OpPhi, ptrType)
-       len := v.Block.NewValue0(v.Line, OpPhi, lenType)
+       ptr := v.Block.NewValue0(v.Pos, OpPhi, ptrType)
+       len := v.Block.NewValue0(v.Pos, OpPhi, lenType)
        for _, a := range v.Args {
-               ptr.AddArg(a.Block.NewValue1(v.Line, OpStringPtr, ptrType, a))
-               len.AddArg(a.Block.NewValue1(v.Line, OpStringLen, lenType, a))
+               ptr.AddArg(a.Block.NewValue1(v.Pos, OpStringPtr, ptrType, a))
+               len.AddArg(a.Block.NewValue1(v.Pos, OpStringLen, lenType, a))
        }
        v.reset(OpStringMake)
        v.AddArg(ptr)
@@ -149,13 +149,13 @@ func decomposeSlicePhi(v *Value) {
        ptrType := fe.TypeBytePtr()
        lenType := fe.TypeInt()
 
-       ptr := v.Block.NewValue0(v.Line, OpPhi, ptrType)
-       len := v.Block.NewValue0(v.Line, OpPhi, lenType)
-       cap := v.Block.NewValue0(v.Line, OpPhi, lenType)
+       ptr := v.Block.NewValue0(v.Pos, OpPhi, ptrType)
+       len := v.Block.NewValue0(v.Pos, OpPhi, lenType)
+       cap := v.Block.NewValue0(v.Pos, OpPhi, lenType)
        for _, a := range v.Args {
-               ptr.AddArg(a.Block.NewValue1(v.Line, OpSlicePtr, ptrType, a))
-               len.AddArg(a.Block.NewValue1(v.Line, OpSliceLen, lenType, a))
-               cap.AddArg(a.Block.NewValue1(v.Line, OpSliceCap, lenType, a))
+               ptr.AddArg(a.Block.NewValue1(v.Pos, OpSlicePtr, ptrType, a))
+               len.AddArg(a.Block.NewValue1(v.Pos, OpSliceLen, lenType, a))
+               cap.AddArg(a.Block.NewValue1(v.Pos, OpSliceCap, lenType, a))
        }
        v.reset(OpSliceMake)
        v.AddArg(ptr)
@@ -172,11 +172,11 @@ func decomposeInt64Phi(v *Value) {
                partType = fe.TypeUInt32()
        }
 
-       hi := v.Block.NewValue0(v.Line, OpPhi, partType)
-       lo := v.Block.NewValue0(v.Line, OpPhi, fe.TypeUInt32())
+       hi := v.Block.NewValue0(v.Pos, OpPhi, partType)
+       lo := v.Block.NewValue0(v.Pos, OpPhi, fe.TypeUInt32())
        for _, a := range v.Args {
-               hi.AddArg(a.Block.NewValue1(v.Line, OpInt64Hi, partType, a))
-               lo.AddArg(a.Block.NewValue1(v.Line, OpInt64Lo, fe.TypeUInt32(), a))
+               hi.AddArg(a.Block.NewValue1(v.Pos, OpInt64Hi, partType, a))
+               lo.AddArg(a.Block.NewValue1(v.Pos, OpInt64Lo, fe.TypeUInt32(), a))
        }
        v.reset(OpInt64Make)
        v.AddArg(hi)
@@ -195,11 +195,11 @@ func decomposeComplexPhi(v *Value) {
                v.Fatalf("decomposeComplexPhi: bad complex size %d", z)
        }
 
-       real := v.Block.NewValue0(v.Line, OpPhi, partType)
-       imag := v.Block.NewValue0(v.Line, OpPhi, partType)
+       real := v.Block.NewValue0(v.Pos, OpPhi, partType)
+       imag := v.Block.NewValue0(v.Pos, OpPhi, partType)
        for _, a := range v.Args {
-               real.AddArg(a.Block.NewValue1(v.Line, OpComplexReal, partType, a))
-               imag.AddArg(a.Block.NewValue1(v.Line, OpComplexImag, partType, a))
+               real.AddArg(a.Block.NewValue1(v.Pos, OpComplexReal, partType, a))
+               imag.AddArg(a.Block.NewValue1(v.Pos, OpComplexImag, partType, a))
        }
        v.reset(OpComplexMake)
        v.AddArg(real)
@@ -209,11 +209,11 @@ func decomposeComplexPhi(v *Value) {
 func decomposeInterfacePhi(v *Value) {
        ptrType := v.Block.Func.Config.fe.TypeBytePtr()
 
-       itab := v.Block.NewValue0(v.Line, OpPhi, ptrType)
-       data := v.Block.NewValue0(v.Line, OpPhi, ptrType)
+       itab := v.Block.NewValue0(v.Pos, OpPhi, ptrType)
+       data := v.Block.NewValue0(v.Pos, OpPhi, ptrType)
        for _, a := range v.Args {
-               itab.AddArg(a.Block.NewValue1(v.Line, OpITab, ptrType, a))
-               data.AddArg(a.Block.NewValue1(v.Line, OpIData, ptrType, a))
+               itab.AddArg(a.Block.NewValue1(v.Pos, OpITab, ptrType, a))
+               data.AddArg(a.Block.NewValue1(v.Pos, OpIData, ptrType, a))
        }
        v.reset(OpIMake)
        v.AddArg(itab)
@@ -247,7 +247,7 @@ func decomposeUser(f *Func) {
                        }
                        for _, v := range f.NamedValues[name] {
                                for i := 0; i < n; i++ {
-                                       x := v.Block.NewValue1I(v.Line, OpStructSelect, t.FieldType(i), int64(i), v)
+                                       x := v.Block.NewValue1I(v.Pos, OpStructSelect, t.FieldType(i), int64(i), v)
                                        f.NamedValues[fnames[i]] = append(f.NamedValues[fnames[i]], x)
                                }
                        }
@@ -264,7 +264,7 @@ func decomposeUser(f *Func) {
                        }
                        elemName := f.Config.fe.SplitArray(name)
                        for _, v := range f.NamedValues[name] {
-                               e := v.Block.NewValue1I(v.Line, OpArraySelect, t.ElemType(), 0, v)
+                               e := v.Block.NewValue1I(v.Pos, OpArraySelect, t.ElemType(), 0, v)
                                f.NamedValues[elemName] = append(f.NamedValues[elemName], e)
                        }
 
@@ -293,11 +293,11 @@ func decomposeStructPhi(v *Value) {
        n := t.NumFields()
        var fields [MaxStruct]*Value
        for i := 0; i < n; i++ {
-               fields[i] = v.Block.NewValue0(v.Line, OpPhi, t.FieldType(i))
+               fields[i] = v.Block.NewValue0(v.Pos, OpPhi, t.FieldType(i))
        }
        for _, a := range v.Args {
                for i := 0; i < n; i++ {
-                       fields[i].AddArg(a.Block.NewValue1I(v.Line, OpStructSelect, t.FieldType(i), int64(i), a))
+                       fields[i].AddArg(a.Block.NewValue1I(v.Pos, OpStructSelect, t.FieldType(i), int64(i), a))
                }
        }
        v.reset(StructMakeOp(n))
@@ -320,9 +320,9 @@ func decomposeArrayPhi(v *Value) {
        if t.NumElem() != 1 {
                v.Fatalf("SSAable array must have no more than 1 element")
        }
-       elem := v.Block.NewValue0(v.Line, OpPhi, t.ElemType())
+       elem := v.Block.NewValue0(v.Pos, OpPhi, t.ElemType())
        for _, a := range v.Args {
-               elem.AddArg(a.Block.NewValue1I(v.Line, OpArraySelect, t.ElemType(), 0, a))
+               elem.AddArg(a.Block.NewValue1I(v.Pos, OpArraySelect, t.ElemType(), 0, a))
        }
        v.reset(OpArrayMake1)
        v.AddArg(elem)
index eeccd8dd926b67ff24b18ba586e8603bf03e9729..149729977e966e0c615f81bdea566d633f0e9bd6 100644 (file)
@@ -80,7 +80,7 @@ func (f *Func) retSparseSet(ss *sparseSet) {
 }
 
 // newValue allocates a new Value with the given fields and places it at the end of b.Values.
-func (f *Func) newValue(op Op, t Type, b *Block, line src.Pos) *Value {
+func (f *Func) newValue(op Op, t Type, b *Block, pos src.Pos) *Value {
        var v *Value
        if f.freeValues != nil {
                v = f.freeValues
@@ -97,7 +97,7 @@ func (f *Func) newValue(op Op, t Type, b *Block, line src.Pos) *Value {
        v.Op = op
        v.Type = t
        v.Block = b
-       v.Line = line
+       v.Pos = pos
        b.Values = append(b.Values, v)
        return v
 }
@@ -117,7 +117,7 @@ func (f *Func) LogStat(key string, args ...interface{}) {
        if f.pass != nil {
                n = strings.Replace(f.pass.name, " ", "_", -1)
        }
-       f.Config.Warnl(f.Entry.Line, "\t%s\t%s%s\t%s", n, key, value, f.Name)
+       f.Config.Warnl(f.Entry.Pos, "\t%s\t%s%s\t%s", n, key, value, f.Name)
 }
 
 // freeValue frees a value. It must no longer be referenced.
@@ -411,7 +411,7 @@ func (f *Func) ConstEmptyString(line src.Pos, t Type) *Value {
 
 func (f *Func) Logf(msg string, args ...interface{})   { f.Config.Logf(msg, args...) }
 func (f *Func) Log() bool                              { return f.Config.Log() }
-func (f *Func) Fatalf(msg string, args ...interface{}) { f.Config.Fatalf(f.Entry.Line, msg, args...) }
+func (f *Func) Fatalf(msg string, args ...interface{}) { f.Config.Fatalf(f.Entry.Pos, msg, args...) }
 
 func (f *Func) Free() {
        // Clear cached CFG info.
index 0137b109bd6c5183929102dc6ae751b1f8ace307..2a5deaab1a8e7a91ecc6776089ba880a4a243209 100644 (file)
        && mem.Op == OpStaticCall
        && isSameSym(mem.Aux, "runtime.newobject")
        && c == config.ctxt.FixedFrameSize() + config.RegSize // offset of return value
-       && warnRule(config.Debug_checknil() && int(v.Line) > 1, v, "removed nil check")
+       && warnRule(config.Debug_checknil() && int(v.Pos) > 1, v, "removed nil check")
        -> (Invalid)
 (NilCheck (OffPtr (Load (OffPtr [c] (SP)) mem)) mem)
        && mem.Op == OpStaticCall
        && isSameSym(mem.Aux, "runtime.newobject")
        && c == config.ctxt.FixedFrameSize() + config.RegSize // offset of return value
-       && warnRule(config.Debug_checknil() && int(v.Line) > 1, v, "removed nil check")
+       && warnRule(config.Debug_checknil() && int(v.Pos) > 1, v, "removed nil check")
        -> (Invalid)
index f255f6ba3fd1671119f274067811c91b6d65ab01..c027541ebaf758870e77ec227acd86fe27b5e0d4 100644 (file)
@@ -491,7 +491,7 @@ func genResult0(w io.Writer, arch arch, result string, alloc *int, top, move boo
                }
                v = fmt.Sprintf("v%d", *alloc)
                *alloc++
-               fmt.Fprintf(w, "%s := b.NewValue0(v.Line, Op%s%s, %s)\n", v, oparch, op.name, typ)
+               fmt.Fprintf(w, "%s := b.NewValue0(v.Pos, Op%s%s, %s)\n", v, oparch, op.name, typ)
                if move && top {
                        // Rewrite original into a copy
                        fmt.Fprintf(w, "v.reset(OpCopy)\n")
index 38a5e81f916b3ca5739f1ac0ee5c01024ca10f4c..5d3d2581040c551a951dc44e1a652e77fef13211 100644 (file)
@@ -108,7 +108,7 @@ func describePredictionAgrees(b *Block, prediction BranchPrediction) string {
 }
 
 func describeBranchPrediction(f *Func, b *Block, likely, not int8, prediction BranchPrediction) {
-       f.Config.Warnl(b.Line, "Branch prediction rule %s < %s%s",
+       f.Config.Warnl(b.Pos, "Branch prediction rule %s < %s%s",
                bllikelies[likely-blMin], bllikelies[not-blMin], describePredictionAgrees(b, prediction))
 }
 
@@ -183,7 +183,7 @@ func likelyadjust(f *Func) {
                                                noprediction = true
                                        }
                                        if f.pass.debug > 0 && !noprediction {
-                                               f.Config.Warnl(b.Line, "Branch prediction rule stay in loop%s",
+                                               f.Config.Warnl(b.Pos, "Branch prediction rule stay in loop%s",
                                                        describePredictionAgrees(b, prediction))
                                        }
 
@@ -226,7 +226,7 @@ func likelyadjust(f *Func) {
                        }
                }
                if f.pass.debug > 2 {
-                       f.Config.Warnl(b.Line, "BP: Block %s, local=%s, certain=%s", b, bllikelies[local[b.ID]-blMin], bllikelies[certain[b.ID]-blMin])
+                       f.Config.Warnl(b.Pos, "BP: Block %s, local=%s, certain=%s", b, bllikelies[local[b.ID]-blMin], bllikelies[certain[b.ID]-blMin])
                }
 
        }
index 14d8834d7df3f474c9b55f7d97576c2f67548441..0f356913ca5aa2f88b2f19daf8b835f82306074e 100644 (file)
@@ -139,9 +139,9 @@ nextb:
 
                if f.pass.debug > 1 {
                        if min.Op == OpConst64 {
-                               b.Func.Config.Warnl(b.Line, "Induction variable with minimum %d and increment %d", min.AuxInt, inc.AuxInt)
+                               b.Func.Config.Warnl(b.Pos, "Induction variable with minimum %d and increment %d", min.AuxInt, inc.AuxInt)
                        } else {
-                               b.Func.Config.Warnl(b.Line, "Induction variable with non-const minimum and increment %d", inc.AuxInt)
+                               b.Func.Config.Warnl(b.Pos, "Induction variable with non-const minimum and increment %d", inc.AuxInt)
                        }
                }
 
@@ -205,7 +205,7 @@ func removeBoundsChecks(f *Func, m map[*Value]indVar) {
                        if iv, has := m[ind]; has && sdom.isAncestorEq(iv.entry, b) && isNonNegative(iv.min) {
                                if v.Args[1] == iv.max {
                                        if f.pass.debug > 0 {
-                                               f.Config.Warnl(b.Line, "Found redundant %s", v.Op)
+                                               f.Config.Warnl(b.Pos, "Found redundant %s", v.Op)
                                        }
                                        goto simplify
                                }
@@ -232,7 +232,7 @@ func removeBoundsChecks(f *Func, m map[*Value]indVar) {
                        if iv, has := m[ind]; has && sdom.isAncestorEq(iv.entry, b) && isNonNegative(iv.min) {
                                if v.Args[1].Op == OpSliceCap && iv.max.Op == OpSliceLen && v.Args[1].Args[0] == iv.max.Args[0] {
                                        if f.pass.debug > 0 {
-                                               f.Config.Warnl(b.Line, "Found redundant %s (len promoted to cap)", v.Op)
+                                               f.Config.Warnl(b.Pos, "Found redundant %s (len promoted to cap)", v.Op)
                                        }
                                        goto simplify
                                }
@@ -263,7 +263,7 @@ func removeBoundsChecks(f *Func, m map[*Value]indVar) {
 
                                if max := iv.max.AuxInt + add; 0 <= max && max <= limit { // handle overflow
                                        if f.pass.debug > 0 {
-                                               f.Config.Warnl(b.Line, "Found redundant (%s ind %d), ind < %d", v.Op, v.Args[1].AuxInt, iv.max.AuxInt+add)
+                                               f.Config.Warnl(b.Pos, "Found redundant (%s ind %d), ind < %d", v.Op, v.Args[1].AuxInt, iv.max.AuxInt+add)
                                        }
                                        goto simplify
                                }
index 6345332ac1b350f574612d491c6e3a9a8ec6bc8d..0a7477c6ffe8a3c45f5df54b615d4ef1391d8357 100644 (file)
@@ -101,8 +101,8 @@ func nilcheckelim(f *Func) {
                                                // This is a redundant implicit nil check.
                                                // Logging in the style of the former compiler -- and omit line 1,
                                                // which is usually in generated code.
-                                               if f.Config.Debug_checknil() && v.Line.Line() > 1 {
-                                                       f.Config.Warnl(v.Line, "removed nil check")
+                                               if f.Config.Debug_checknil() && v.Pos.Line() > 1 {
+                                                       f.Config.Warnl(v.Pos, "removed nil check")
                                                }
                                                v.reset(OpUnknown)
                                                i--
@@ -147,8 +147,8 @@ func nilcheckelim2(f *Func) {
                for i := len(b.Values) - 1; i >= 0; i-- {
                        v := b.Values[i]
                        if opcodeTable[v.Op].nilCheck && unnecessary.contains(v.Args[0].ID) {
-                               if f.Config.Debug_checknil() && v.Line.Line() > 1 {
-                                       f.Config.Warnl(v.Line, "removed nil check")
+                               if f.Config.Debug_checknil() && v.Pos.Line() > 1 {
+                                       f.Config.Warnl(v.Pos, "removed nil check")
                                }
                                v.reset(OpUnknown)
                                continue
index 5fccab9c066c2cb9b9d22ed53e0d628741e1a607..0c85b6fb129cb20865d7870f178331a2f5712d6f 100644 (file)
@@ -63,7 +63,7 @@ func phielimValue(v *Value) bool {
        v.SetArgs1(w)
        f := v.Block.Func
        if f.pass.debug > 0 {
-               f.Config.Warnl(v.Line, "eliminated phi")
+               f.Config.Warnl(v.Pos, "eliminated phi")
        }
        return true
 }
index 3e9f195d817c38a89351c94039fc679f518b999c..d1b7cd53ddb47a0dde1255fb6ef9c67a1da127d0 100644 (file)
@@ -81,7 +81,7 @@ func phiopt(f *Func) {
                                        v.reset(ops[v.Args[reverse].AuxInt])
                                        v.AddArg(b0.Control)
                                        if f.pass.debug > 0 {
-                                               f.Config.Warnl(b.Line, "converted OpPhi to %v", v.Op)
+                                               f.Config.Warnl(b.Pos, "converted OpPhi to %v", v.Op)
                                        }
                                        continue
                                }
@@ -97,7 +97,7 @@ func phiopt(f *Func) {
                                        v.reset(OpOrB)
                                        v.SetArgs2(b0.Control, tmp)
                                        if f.pass.debug > 0 {
-                                               f.Config.Warnl(b.Line, "converted OpPhi to %v", v.Op)
+                                               f.Config.Warnl(b.Pos, "converted OpPhi to %v", v.Op)
                                        }
                                        continue
                                }
@@ -113,7 +113,7 @@ func phiopt(f *Func) {
                                        v.reset(OpAndB)
                                        v.SetArgs2(b0.Control, tmp)
                                        if f.pass.debug > 0 {
-                                               f.Config.Warnl(b.Line, "converted OpPhi to %v", v.Op)
+                                               f.Config.Warnl(b.Pos, "converted OpPhi to %v", v.Op)
                                        }
                                        continue
                                }
@@ -163,12 +163,12 @@ func phioptint(v *Value, b0 *Block, reverse int) {
 
        a := b0.Control
        if negate {
-               a = v.Block.NewValue1(v.Line, OpNot, a.Type, a)
+               a = v.Block.NewValue1(v.Pos, OpNot, a.Type, a)
        }
        v.AddArg(a)
 
        f := b0.Func
        if f.pass.debug > 0 {
-               f.Config.Warnl(v.Block.Line, "converted OpPhi bool -> int%d", v.Type.Size()*8)
+               f.Config.Warnl(v.Block.Pos, "converted OpPhi bool -> int%d", v.Type.Size()*8)
        }
 }
index 21e293ca556115fa70daf52ae2f9b1ed4cb299f0..01b8083b951624c1b16741e7a90088bc502586be 100644 (file)
@@ -62,7 +62,7 @@ func (p stringFuncPrinter) endBlock(b *Block) {
 
 func (p stringFuncPrinter) value(v *Value, live bool) {
        fmt.Fprint(p.w, "    ")
-       //fmt.Fprint(p.w, v.Block.Func.Config.fe.Line(v.Line))
+       //fmt.Fprint(p.w, v.Block.Func.Config.fe.Pos(v.Pos))
        //fmt.Fprint(p.w, ": ")
        fmt.Fprint(p.w, v.LongString())
        if !live {
index 1925a61a52fa6af472b8dffe5e9d55d3fd8421c8..541033e2de6b030d7068a1101cdc023e18f567a9 100644 (file)
@@ -301,7 +301,7 @@ func (ft *factsTable) update(parent *Block, v, w *Value, d domain, r relation) {
                ft.limitStack = append(ft.limitStack, limitFact{v.ID, old})
                ft.limits[v.ID] = lim
                if v.Block.Func.pass.debug > 2 {
-                       v.Block.Func.Config.Warnl(parent.Line, "parent=%s, new limits %s %s %s", parent, v, w, lim.String())
+                       v.Block.Func.Config.Warnl(parent.Pos, "parent=%s, new limits %s %s %s", parent, v, w, lim.String())
                }
        }
 }
@@ -600,7 +600,7 @@ func simplifyBlock(ft *factsTable, b *Block) branch {
                                v.reset(OpConst32)
                        }
                        if b.Func.pass.debug > 0 {
-                               b.Func.Config.Warnl(v.Line, "Proved slicemask not needed")
+                               b.Func.Config.Warnl(v.Pos, "Proved slicemask not needed")
                        }
                        v.AuxInt = -1
                }
@@ -615,9 +615,9 @@ func simplifyBlock(ft *factsTable, b *Block) branch {
        if m == lt|gt {
                if b.Func.pass.debug > 0 {
                        if b.Func.pass.debug > 1 {
-                               b.Func.Config.Warnl(b.Line, "Proved boolean %s (%s)", b.Control.Op, b.Control)
+                               b.Func.Config.Warnl(b.Pos, "Proved boolean %s (%s)", b.Control.Op, b.Control)
                        } else {
-                               b.Func.Config.Warnl(b.Line, "Proved boolean %s", b.Control.Op)
+                               b.Func.Config.Warnl(b.Pos, "Proved boolean %s", b.Control.Op)
                        }
                }
                return positive
@@ -625,9 +625,9 @@ func simplifyBlock(ft *factsTable, b *Block) branch {
        if m == eq {
                if b.Func.pass.debug > 0 {
                        if b.Func.pass.debug > 1 {
-                               b.Func.Config.Warnl(b.Line, "Disproved boolean %s (%s)", b.Control.Op, b.Control)
+                               b.Func.Config.Warnl(b.Pos, "Disproved boolean %s (%s)", b.Control.Op, b.Control)
                        } else {
-                               b.Func.Config.Warnl(b.Line, "Disproved boolean %s", b.Control.Op)
+                               b.Func.Config.Warnl(b.Pos, "Disproved boolean %s", b.Control.Op)
                        }
                }
                return negative
@@ -656,9 +656,9 @@ func simplifyBlock(ft *factsTable, b *Block) branch {
                if m != 0 && tr.r&m == m {
                        if b.Func.pass.debug > 0 {
                                if b.Func.pass.debug > 1 {
-                                       b.Func.Config.Warnl(b.Line, "Proved %s (%s)", c.Op, c)
+                                       b.Func.Config.Warnl(b.Pos, "Proved %s (%s)", c.Op, c)
                                } else {
-                                       b.Func.Config.Warnl(b.Line, "Proved %s", c.Op)
+                                       b.Func.Config.Warnl(b.Pos, "Proved %s", c.Op)
                                }
                        }
                        return positive
@@ -666,9 +666,9 @@ func simplifyBlock(ft *factsTable, b *Block) branch {
                if m != 0 && ((lt|eq|gt)^tr.r)&m == m {
                        if b.Func.pass.debug > 0 {
                                if b.Func.pass.debug > 1 {
-                                       b.Func.Config.Warnl(b.Line, "Disproved %s (%s)", c.Op, c)
+                                       b.Func.Config.Warnl(b.Pos, "Disproved %s (%s)", c.Op, c)
                                } else {
-                                       b.Func.Config.Warnl(b.Line, "Disproved %s", c.Op)
+                                       b.Func.Config.Warnl(b.Pos, "Disproved %s", c.Op)
                                }
                        }
                        return negative
@@ -685,9 +685,9 @@ func simplifyBlock(ft *factsTable, b *Block) branch {
                if m != 0 && tr.r&m == m {
                        if b.Func.pass.debug > 0 {
                                if b.Func.pass.debug > 1 {
-                                       b.Func.Config.Warnl(b.Line, "Proved non-negative bounds %s (%s)", c.Op, c)
+                                       b.Func.Config.Warnl(b.Pos, "Proved non-negative bounds %s (%s)", c.Op, c)
                                } else {
-                                       b.Func.Config.Warnl(b.Line, "Proved non-negative bounds %s", c.Op)
+                                       b.Func.Config.Warnl(b.Pos, "Proved non-negative bounds %s", c.Op)
                                }
                        }
                        return positive
index db68dda4d95fc40c5899b8d57e69fd015ab194aa..f852b8b40261e4536aff524e96c96819d07ece65 100644 (file)
@@ -393,7 +393,7 @@ func (s *regAllocState) allocReg(mask regMask, v *Value) register {
        m := s.compatRegs(v2.Type) &^ s.used &^ s.tmpused &^ (regMask(1) << r)
        if m != 0 && !s.values[v2.ID].rematerializeable && countRegs(s.values[v2.ID].regs) == 1 {
                r2 := pickReg(m)
-               c := s.curBlock.NewValue1(v2.Line, OpCopy, v2.Type, s.regs[r].c)
+               c := s.curBlock.NewValue1(v2.Pos, OpCopy, v2.Type, s.regs[r].c)
                s.copies[c] = false
                if s.f.pass.debug > regDebug {
                        fmt.Printf("copy %s to %s : %s\n", v2, c, s.registers[r2].Name())
@@ -446,7 +446,7 @@ func (s *regAllocState) allocValToReg(v *Value, mask regMask, nospill bool, line
                // Load v from its spill location.
                case vi.spill != nil:
                        if s.f.pass.debug > logSpills {
-                               s.f.Config.Warnl(vi.spill.Line, "load spill for %v from %v", v, vi.spill)
+                               s.f.Config.Warnl(vi.spill.Pos, "load spill for %v from %v", v, vi.spill)
                        }
                        c = s.curBlock.NewValue1(line, OpLoadReg, v.Type, vi.spill)
                        vi.spillUsed = true
@@ -760,7 +760,7 @@ func (s *regAllocState) regalloc(f *Func) {
                        liveSet.add(e.ID)
                }
                if v := b.Control; v != nil && s.values[v.ID].needReg {
-                       s.addUse(v.ID, int32(len(b.Values)), b.Line) // psuedo-use by control value
+                       s.addUse(v.ID, int32(len(b.Values)), b.Pos) // psuedo-use by control value
                        liveSet.add(v.ID)
                }
                for i := len(b.Values) - 1; i >= 0; i-- {
@@ -776,7 +776,7 @@ func (s *regAllocState) regalloc(f *Func) {
                                if !s.values[a.ID].needReg {
                                        continue
                                }
-                               s.addUse(a.ID, int32(i), v.Line)
+                               s.addUse(a.ID, int32(i), v.Pos)
                                liveSet.add(a.ID)
                        }
                }
@@ -902,7 +902,7 @@ func (s *regAllocState) regalloc(f *Func) {
                                        m := s.compatRegs(a.Type) &^ s.used &^ phiUsed
                                        if m != 0 && !s.values[a.ID].rematerializeable && countRegs(s.values[a.ID].regs) == 1 {
                                                r2 := pickReg(m)
-                                               c := p.NewValue1(a.Line, OpCopy, a.Type, s.regs[r].c)
+                                               c := p.NewValue1(a.Pos, OpCopy, a.Type, s.regs[r].c)
                                                s.copies[c] = false
                                                if s.f.pass.debug > regDebug {
                                                        fmt.Printf("copy %s to %s : %s\n", a, c, s.registers[r2].Name())
@@ -951,7 +951,7 @@ func (s *regAllocState) regalloc(f *Func) {
                                // register-based phi
                                s.assignReg(r, v, v)
                                // Spill the phi in case we need to restore it later.
-                               spill := b.NewValue1(v.Line, OpStoreReg, v.Type, v)
+                               spill := b.NewValue1(v.Pos, OpStoreReg, v.Type, v)
                                s.setOrig(spill, v)
                                s.values[v.ID].spill = spill
                                s.values[v.ID].spillUsed = false
@@ -1184,7 +1184,7 @@ func (s *regAllocState) regalloc(f *Func) {
                                                mask &^= desired.avoid
                                        }
                                }
-                               args[i.idx] = s.allocValToReg(args[i.idx], mask, true, v.Line)
+                               args[i.idx] = s.allocValToReg(args[i.idx], mask, true, v.Pos)
                        }
 
                        // If the output clobbers the input register, make sure we have
@@ -1236,7 +1236,7 @@ func (s *regAllocState) regalloc(f *Func) {
                                for _, r := range dinfo[idx].out {
                                        if r != noRegister && m>>r&1 != 0 {
                                                m = regMask(1) << r
-                                               args[0] = s.allocValToReg(v.Args[0], m, true, v.Line)
+                                               args[0] = s.allocValToReg(v.Args[0], m, true, v.Pos)
                                                // Note: we update args[0] so the instruction will
                                                // use the register copy we just made.
                                                goto ok
@@ -1247,7 +1247,7 @@ func (s *regAllocState) regalloc(f *Func) {
                                for _, r := range dinfo[idx].in[0] {
                                        if r != noRegister && m>>r&1 != 0 {
                                                m = regMask(1) << r
-                                               c := s.allocValToReg(v.Args[0], m, true, v.Line)
+                                               c := s.allocValToReg(v.Args[0], m, true, v.Pos)
                                                s.copies[c] = false
                                                // Note: no update to args[0] so the instruction will
                                                // use the original copy.
@@ -1258,7 +1258,7 @@ func (s *regAllocState) regalloc(f *Func) {
                                        for _, r := range dinfo[idx].in[1] {
                                                if r != noRegister && m>>r&1 != 0 {
                                                        m = regMask(1) << r
-                                                       c := s.allocValToReg(v.Args[1], m, true, v.Line)
+                                                       c := s.allocValToReg(v.Args[1], m, true, v.Pos)
                                                        s.copies[c] = false
                                                        args[0], args[1] = args[1], args[0]
                                                        goto ok
@@ -1270,7 +1270,7 @@ func (s *regAllocState) regalloc(f *Func) {
                                        m &^= desired.avoid
                                }
                                // Save input 0 to a new register so we can clobber it.
-                               c := s.allocValToReg(v.Args[0], m, true, v.Line)
+                               c := s.allocValToReg(v.Args[0], m, true, v.Pos)
                                s.copies[c] = false
                        }
 
@@ -1384,7 +1384,7 @@ func (s *regAllocState) regalloc(f *Func) {
                        // It would be good to have both spill and restore inside the IF.
                issueSpill:
                        if s.values[v.ID].needReg {
-                               spill := b.NewValue1(v.Line, OpStoreReg, v.Type, v)
+                               spill := b.NewValue1(v.Pos, OpStoreReg, v.Type, v)
                                s.setOrig(spill, v)
                                s.values[v.ID].spill = spill
                                s.values[v.ID].spillUsed = false
@@ -1404,7 +1404,7 @@ func (s *regAllocState) regalloc(f *Func) {
                        // We assume that a control input can be passed in any
                        // type-compatible register. If this turns out not to be true,
                        // we'll need to introduce a regspec for a block's control value.
-                       b.Control = s.allocValToReg(v, s.compatRegs(v.Type), false, b.Line)
+                       b.Control = s.allocValToReg(v, s.compatRegs(v.Type), false, b.Pos)
                        if b.Control != v {
                                v.Uses--
                                b.Control.Uses++
@@ -1459,7 +1459,7 @@ func (s *regAllocState) regalloc(f *Func) {
                                        m &^= desired.avoid
                                }
                                if m != 0 {
-                                       s.allocValToReg(v, m, false, b.Line)
+                                       s.allocValToReg(v, m, false, b.Pos)
                                }
                        }
                }
@@ -1610,7 +1610,7 @@ func (s *regAllocState) regalloc(f *Func) {
                vi := s.values[i]
                if vi.spillUsed {
                        if s.f.pass.debug > logSpills && vi.spill.Op != OpArg {
-                               s.f.Config.Warnl(vi.spill.Line, "spilled value at %v remains", vi.spill)
+                               s.f.Config.Warnl(vi.spill.Pos, "spilled value at %v remains", vi.spill)
                        }
                        continue
                }
@@ -1708,7 +1708,7 @@ sinking:
                        }
                        // If here, the register assignment was lost down at least one exit and it can't be sunk
                        if s.f.pass.debug > moveSpills {
-                               s.f.Config.Warnl(e.Line, "lost register assignment for spill %v in %v at exit %v to %v",
+                               s.f.Config.Warnl(e.Pos, "lost register assignment for spill %v in %v at exit %v to %v",
                                        vsp, b, p, d)
                        }
                        nSpillsChanged++
@@ -1744,10 +1744,10 @@ sinking:
                        d := loop.exits[i]
                        vspnew := vsp // reuse original for first sunk spill, saves tracking down and renaming uses
                        if !first {   // any sunk spills after first must make a copy
-                               vspnew = d.NewValue1(e.Line, OpStoreReg, e.Type, e)
+                               vspnew = d.NewValue1(e.Pos, OpStoreReg, e.Type, e)
                                f.setHome(vspnew, f.getHome(vsp.ID)) // copy stack home
                                if s.f.pass.debug > moveSpills {
-                                       s.f.Config.Warnl(e.Line, "copied spill %v in %v for %v to %v in %v",
+                                       s.f.Config.Warnl(e.Pos, "copied spill %v in %v for %v to %v in %v",
                                                vsp, b, e, vspnew, d)
                                }
                        } else {
@@ -1755,7 +1755,7 @@ sinking:
                                vspnew.Block = d
                                d.Values = append(d.Values, vspnew)
                                if s.f.pass.debug > moveSpills {
-                                       s.f.Config.Warnl(e.Line, "moved spill %v in %v for %v to %v in %v",
+                                       s.f.Config.Warnl(e.Pos, "moved spill %v in %v for %v to %v in %v",
                                                vsp, b, e, vspnew, d)
                                }
                        }
@@ -1935,7 +1935,7 @@ func (e *edgeState) setup(idx int, srcReg []endReg, dstReg []startReg, stacklive
                if loc == nil {
                        continue
                }
-               dsts = append(dsts, dstRecord{loc, v.Args[idx].ID, &v.Args[idx], v.Line})
+               dsts = append(dsts, dstRecord{loc, v.Args[idx].ID, &v.Args[idx], v.Pos})
        }
        e.destinations = dsts
 
@@ -2251,8 +2251,8 @@ func (e *edgeState) findRegFor(typ Type) Location {
                a := e.cache[vid]
                for _, c := range a {
                        if r, ok := e.s.f.getHome(c.ID).(*Register); ok && m>>uint(r.num)&1 != 0 {
-                               x := e.p.NewValue1(c.Line, OpStoreReg, c.Type, c)
-                               e.set(t, vid, x, false, c.Line)
+                               x := e.p.NewValue1(c.Pos, OpStoreReg, c.Type, c)
+                               e.set(t, vid, x, false, c.Pos)
                                if e.s.f.pass.debug > regDebug {
                                        fmt.Printf("  SPILL %s->%s %s\n", r.Name(), t.Name(), x.LongString())
                                }
@@ -2347,7 +2347,7 @@ func (s *regAllocState) computeLive() {
 
                        // Mark control value as live
                        if b.Control != nil && s.values[b.Control.ID].needReg {
-                               live.set(b.Control.ID, int32(len(b.Values)), b.Line)
+                               live.set(b.Control.ID, int32(len(b.Values)), b.Pos)
                        }
 
                        // Propagate backwards to the start of the block
@@ -2369,7 +2369,7 @@ func (s *regAllocState) computeLive() {
                                }
                                for _, a := range v.Args {
                                        if s.values[a.ID].needReg {
-                                               live.set(a.ID, int32(i), v.Line)
+                                               live.set(a.ID, int32(i), v.Pos)
                                        }
                                }
                        }
@@ -2447,7 +2447,7 @@ func (s *regAllocState) computeLive() {
                                        id := v.Args[i].ID
                                        if s.values[id].needReg && (!t.contains(id) || delta < t.get(id)) {
                                                update = true
-                                               t.set(id, delta, v.Line)
+                                               t.set(id, delta, v.Pos)
                                        }
                                }
 
index 1f9a90ff356945a2cb920f900800735bf42a9fd7..11d1e9d8c94b9196464b361e2cfda9ef500ea5b6 100644 (file)
@@ -489,7 +489,7 @@ func noteRule(s string) bool {
 // cond is true and the rule is fired.
 func warnRule(cond bool, v *Value, s string) bool {
        if cond {
-               v.Block.Func.Config.Warnl(v.Line, s)
+               v.Block.Func.Config.Warnl(v.Pos, s)
        }
        return true
 }
index 741886da90597cbeb8c775fc8700ffeb6f7bc15b..99b665783ef94a917a52b10aeaa9f75ff0ff910c 100644 (file)
@@ -1216,7 +1216,7 @@ func rewriteValue386_Op386CMPB(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(Op386InvertFlags)
-               v0 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v0.AuxInt = int64(int8(c))
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1403,7 +1403,7 @@ func rewriteValue386_Op386CMPL(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(Op386InvertFlags)
-               v0 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1606,7 +1606,7 @@ func rewriteValue386_Op386CMPW(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(Op386InvertFlags)
-               v0 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v0.AuxInt = int64(int16(c))
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2471,7 +2471,7 @@ func rewriteValue386_Op386MOVBLSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, Op386MOVBLSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386MOVBLSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -2548,7 +2548,7 @@ func rewriteValue386_Op386MOVBLZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, Op386MOVBload, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386MOVBload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -2574,7 +2574,7 @@ func rewriteValue386_Op386MOVBLZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, Op386MOVBloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386MOVBloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -4231,7 +4231,7 @@ func rewriteValue386_Op386MOVSDconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(Op386MOVSDconst2)
-               v0 := b.NewValue0(v.Line, Op386MOVSDconst1, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386MOVSDconst1, config.fe.TypeUInt32())
                v0.AuxInt = c
                v.AddArg(v0)
                return true
@@ -4720,7 +4720,7 @@ func rewriteValue386_Op386MOVSSconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(Op386MOVSSconst2)
-               v0 := b.NewValue0(v.Line, Op386MOVSSconst1, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386MOVSSconst1, config.fe.TypeUInt32())
                v0.AuxInt = c
                v.AddArg(v0)
                return true
@@ -5216,7 +5216,7 @@ func rewriteValue386_Op386MOVWLSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, Op386MOVWLSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386MOVWLSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -5293,7 +5293,7 @@ func rewriteValue386_Op386MOVWLZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, Op386MOVWload, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386MOVWload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -5319,7 +5319,7 @@ func rewriteValue386_Op386MOVWLZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, Op386MOVWloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386MOVWloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -5346,7 +5346,7 @@ func rewriteValue386_Op386MOVWLZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, Op386MOVWloadidx2, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386MOVWloadidx2, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -6278,7 +6278,7 @@ func rewriteValue386_Op386MOVWstoreconstidx2(v *Value, config *Config) bool {
                v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, Op386SHLLconst, i.Type)
+               v0 := b.NewValue0(v.Pos, Op386SHLLconst, i.Type)
                v0.AuxInt = 1
                v0.AddArg(i)
                v.AddArg(v0)
@@ -6561,7 +6561,7 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value, config *Config) bool {
                v.AuxInt = i - 2
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, Op386SHLLconst, idx.Type)
+               v0 := b.NewValue0(v.Pos, Op386SHLLconst, idx.Type)
                v0.AuxInt = 1
                v0.AddArg(idx)
                v.AddArg(v0)
@@ -6617,7 +6617,7 @@ func rewriteValue386_Op386MOVWstoreidx2(v *Value, config *Config) bool {
                v.AuxInt = i - 2
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, Op386SHLLconst, idx.Type)
+               v0 := b.NewValue0(v.Pos, Op386SHLLconst, idx.Type)
                v0.AuxInt = 1
                v0.AddArg(idx)
                v.AddArg(v0)
@@ -6752,7 +6752,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                }
                x := v.Args[0]
                v.reset(Op386LEAL8)
-               v0 := b.NewValue0(v.Line, Op386NEGL, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386NEGL, v.Type)
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(x)
@@ -6781,7 +6781,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(Op386LEAL2)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386LEAL4, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6797,7 +6797,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(Op386LEAL4)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386LEAL2, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6813,7 +6813,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(Op386LEAL4)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386LEAL4, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6829,7 +6829,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(Op386LEAL8)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386LEAL2, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6845,7 +6845,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(Op386LEAL4)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386LEAL8, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6861,7 +6861,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(Op386LEAL8)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386LEAL4, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6877,7 +6877,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(Op386LEAL8)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386LEAL8, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6907,7 +6907,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(Op386SUBL)
-               v0 := b.NewValue0(v.Line, Op386SHLLconst, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
                v0.AuxInt = log2(c + 1)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6924,7 +6924,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(Op386LEAL1)
-               v0 := b.NewValue0(v.Line, Op386SHLLconst, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
                v0.AuxInt = log2(c - 1)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6941,7 +6941,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(Op386LEAL2)
-               v0 := b.NewValue0(v.Line, Op386SHLLconst, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
                v0.AuxInt = log2(c - 2)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6958,7 +6958,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(Op386LEAL4)
-               v0 := b.NewValue0(v.Line, Op386SHLLconst, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
                v0.AuxInt = log2(c - 4)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6975,7 +6975,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(Op386LEAL8)
-               v0 := b.NewValue0(v.Line, Op386SHLLconst, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386SHLLconst, v.Type)
                v0.AuxInt = log2(c - 8)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6993,7 +6993,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                }
                v.reset(Op386SHLLconst)
                v.AuxInt = log2(c / 3)
-               v0 := b.NewValue0(v.Line, Op386LEAL2, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7010,7 +7010,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                }
                v.reset(Op386SHLLconst)
                v.AuxInt = log2(c / 5)
-               v0 := b.NewValue0(v.Line, Op386LEAL4, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7027,7 +7027,7 @@ func rewriteValue386_Op386MULLconst(v *Value, config *Config) bool {
                }
                v.reset(Op386SHLLconst)
                v.AuxInt = log2(c / 9)
-               v0 := b.NewValue0(v.Line, Op386LEAL8, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7170,7 +7170,7 @@ func rewriteValue386_Op386ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, Op386MOVWload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, Op386MOVWload, config.fe.TypeUInt16())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -7245,7 +7245,7 @@ func rewriteValue386_Op386ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, Op386MOVLload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386MOVLload, config.fe.TypeUInt32())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -7297,7 +7297,7 @@ func rewriteValue386_Op386ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, Op386MOVWloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386MOVWloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -7380,7 +7380,7 @@ func rewriteValue386_Op386ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, Op386MOVLloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386MOVLloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -8791,7 +8791,7 @@ func rewriteValue386_Op386SUBL(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(Op386NEGL)
-               v0 := b.NewValue0(v.Line, Op386SUBLconst, v.Type)
+               v0 := b.NewValue0(v.Pos, Op386SUBLconst, v.Type)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -9524,10 +9524,10 @@ func rewriteValue386_OpDiv8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386DIVW)
-               v0 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to16, config.fe.TypeInt16())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to16, config.fe.TypeInt16())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -9543,10 +9543,10 @@ func rewriteValue386_OpDiv8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386DIVWU)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to16, config.fe.TypeUInt16())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to16, config.fe.TypeUInt16())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -9562,7 +9562,7 @@ func rewriteValue386_OpEq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETEQ)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9579,7 +9579,7 @@ func rewriteValue386_OpEq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETEQ)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9596,7 +9596,7 @@ func rewriteValue386_OpEq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETEQF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9613,7 +9613,7 @@ func rewriteValue386_OpEq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETEQF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9630,7 +9630,7 @@ func rewriteValue386_OpEq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETEQ)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9647,7 +9647,7 @@ func rewriteValue386_OpEqB(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETEQ)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9664,7 +9664,7 @@ func rewriteValue386_OpEqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETEQ)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9681,7 +9681,7 @@ func rewriteValue386_OpGeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGE)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9698,7 +9698,7 @@ func rewriteValue386_OpGeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETAE)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9715,7 +9715,7 @@ func rewriteValue386_OpGeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGE)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9732,7 +9732,7 @@ func rewriteValue386_OpGeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGEF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9749,7 +9749,7 @@ func rewriteValue386_OpGeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETAE)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9766,7 +9766,7 @@ func rewriteValue386_OpGeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGEF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9783,7 +9783,7 @@ func rewriteValue386_OpGeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGE)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9800,7 +9800,7 @@ func rewriteValue386_OpGeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETAE)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9856,7 +9856,7 @@ func rewriteValue386_OpGreater16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETG)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9873,7 +9873,7 @@ func rewriteValue386_OpGreater16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETA)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9890,7 +9890,7 @@ func rewriteValue386_OpGreater32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETG)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9907,7 +9907,7 @@ func rewriteValue386_OpGreater32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9924,7 +9924,7 @@ func rewriteValue386_OpGreater32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETA)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9941,7 +9941,7 @@ func rewriteValue386_OpGreater64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9958,7 +9958,7 @@ func rewriteValue386_OpGreater8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETG)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9975,7 +9975,7 @@ func rewriteValue386_OpGreater8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETA)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10099,7 +10099,7 @@ func rewriteValue386_OpIsInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(Op386SETB)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -10115,7 +10115,7 @@ func rewriteValue386_OpIsNonNil(v *Value, config *Config) bool {
        for {
                p := v.Args[0]
                v.reset(Op386SETNE)
-               v0 := b.NewValue0(v.Line, Op386TESTL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386TESTL, TypeFlags)
                v0.AddArg(p)
                v0.AddArg(p)
                v.AddArg(v0)
@@ -10132,7 +10132,7 @@ func rewriteValue386_OpIsSliceInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(Op386SETBE)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -10149,7 +10149,7 @@ func rewriteValue386_OpLeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETLE)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10166,7 +10166,7 @@ func rewriteValue386_OpLeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETBE)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10183,7 +10183,7 @@ func rewriteValue386_OpLeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETLE)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10200,7 +10200,7 @@ func rewriteValue386_OpLeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGEF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISS, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10217,7 +10217,7 @@ func rewriteValue386_OpLeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETBE)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10234,7 +10234,7 @@ func rewriteValue386_OpLeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGEF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10251,7 +10251,7 @@ func rewriteValue386_OpLeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETLE)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10268,7 +10268,7 @@ func rewriteValue386_OpLeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETBE)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10285,7 +10285,7 @@ func rewriteValue386_OpLess16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETL)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10302,7 +10302,7 @@ func rewriteValue386_OpLess16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETB)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10319,7 +10319,7 @@ func rewriteValue386_OpLess32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETL)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10336,7 +10336,7 @@ func rewriteValue386_OpLess32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISS, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10353,7 +10353,7 @@ func rewriteValue386_OpLess32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETB)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10370,7 +10370,7 @@ func rewriteValue386_OpLess64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETGF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10387,7 +10387,7 @@ func rewriteValue386_OpLess8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETL)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10404,7 +10404,7 @@ func rewriteValue386_OpLess8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETB)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10553,12 +10553,12 @@ func rewriteValue386_OpLsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHLL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -10577,12 +10577,12 @@ func rewriteValue386_OpLsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHLL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -10640,12 +10640,12 @@ func rewriteValue386_OpLsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHLL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -10664,12 +10664,12 @@ func rewriteValue386_OpLsh32x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHLL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -10688,12 +10688,12 @@ func rewriteValue386_OpLsh32x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHLL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -10751,12 +10751,12 @@ func rewriteValue386_OpLsh32x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHLL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -10775,12 +10775,12 @@ func rewriteValue386_OpLsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHLL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -10799,12 +10799,12 @@ func rewriteValue386_OpLsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHLL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -10862,12 +10862,12 @@ func rewriteValue386_OpLsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHLL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -10945,10 +10945,10 @@ func rewriteValue386_OpMod8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386MODW)
-               v0 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to16, config.fe.TypeInt16())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to16, config.fe.TypeInt16())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -10964,10 +10964,10 @@ func rewriteValue386_OpMod8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386MODWU)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to16, config.fe.TypeUInt16())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to16, config.fe.TypeUInt16())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -11003,7 +11003,7 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                }
                v.reset(Op386MOVBstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, Op386MOVBload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, Op386MOVBload, config.fe.TypeUInt8())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -11023,7 +11023,7 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                }
                v.reset(Op386MOVWstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, Op386MOVWload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, Op386MOVWload, config.fe.TypeUInt16())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -11043,7 +11043,7 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                }
                v.reset(Op386MOVLstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, Op386MOVLload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386MOVLload, config.fe.TypeUInt32())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -11064,14 +11064,14 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                v.reset(Op386MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, Op386MOVBload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, Op386MOVBload, config.fe.TypeUInt8())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, Op386MOVWstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, Op386MOVWload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, Op386MOVWload, config.fe.TypeUInt16())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -11093,14 +11093,14 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                v.reset(Op386MOVBstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, Op386MOVBload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, Op386MOVBload, config.fe.TypeUInt8())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386MOVLstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, Op386MOVLstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, Op386MOVLload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, Op386MOVLload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -11122,14 +11122,14 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                v.reset(Op386MOVWstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, Op386MOVWload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, Op386MOVWload, config.fe.TypeUInt16())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386MOVLstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, Op386MOVLstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, Op386MOVLload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, Op386MOVLload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -11151,14 +11151,14 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                v.reset(Op386MOVLstore)
                v.AuxInt = 3
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, Op386MOVLload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386MOVLload, config.fe.TypeUInt32())
                v0.AuxInt = 3
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386MOVLstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, Op386MOVLstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, Op386MOVLload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, Op386MOVLload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -11180,14 +11180,14 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                v.reset(Op386MOVLstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, Op386MOVLload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386MOVLload, config.fe.TypeUInt32())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386MOVLstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, Op386MOVLstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, Op386MOVLload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, Op386MOVLload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -11208,17 +11208,17 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMove)
                v.AuxInt = SizeAndAlign(s).Size() - SizeAndAlign(s).Size()%4
-               v0 := b.NewValue0(v.Line, Op386ADDLconst, dst.Type)
+               v0 := b.NewValue0(v.Pos, Op386ADDLconst, dst.Type)
                v0.AuxInt = SizeAndAlign(s).Size() % 4
                v0.AddArg(dst)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386ADDLconst, src.Type)
+               v1 := b.NewValue0(v.Pos, Op386ADDLconst, src.Type)
                v1.AuxInt = SizeAndAlign(s).Size() % 4
                v1.AddArg(src)
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, Op386MOVLstore, TypeMem)
+               v2 := b.NewValue0(v.Pos, Op386MOVLstore, TypeMem)
                v2.AddArg(dst)
-               v3 := b.NewValue0(v.Line, Op386MOVLload, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, Op386MOVLload, config.fe.TypeUInt32())
                v3.AddArg(src)
                v3.AddArg(mem)
                v2.AddArg(v3)
@@ -11258,7 +11258,7 @@ func rewriteValue386_OpMove(v *Value, config *Config) bool {
                v.reset(Op386REPMOVSL)
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, Op386MOVLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386MOVLconst, config.fe.TypeUInt32())
                v0.AuxInt = SizeAndAlign(s).Size() / 4
                v.AddArg(v0)
                v.AddArg(mem)
@@ -11395,7 +11395,7 @@ func rewriteValue386_OpNeg32F(v *Value, config *Config) bool {
                }
                v.reset(Op386PXOR)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386MOVSSconst, config.Frontend().TypeFloat32())
+               v0 := b.NewValue0(v.Pos, Op386MOVSSconst, config.Frontend().TypeFloat32())
                v0.AuxInt = f2i(math.Copysign(0, -1))
                v.AddArg(v0)
                return true
@@ -11427,7 +11427,7 @@ func rewriteValue386_OpNeg64F(v *Value, config *Config) bool {
                }
                v.reset(Op386PXOR)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386MOVSDconst, config.Frontend().TypeFloat64())
+               v0 := b.NewValue0(v.Pos, Op386MOVSDconst, config.Frontend().TypeFloat64())
                v0.AuxInt = f2i(math.Copysign(0, -1))
                v.AddArg(v0)
                return true
@@ -11469,7 +11469,7 @@ func rewriteValue386_OpNeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETNE)
-               v0 := b.NewValue0(v.Line, Op386CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11486,7 +11486,7 @@ func rewriteValue386_OpNeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETNE)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11503,7 +11503,7 @@ func rewriteValue386_OpNeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETNEF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11520,7 +11520,7 @@ func rewriteValue386_OpNeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETNEF)
-               v0 := b.NewValue0(v.Line, Op386UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386UCOMISD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11537,7 +11537,7 @@ func rewriteValue386_OpNeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETNE)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11554,7 +11554,7 @@ func rewriteValue386_OpNeqB(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETNE)
-               v0 := b.NewValue0(v.Line, Op386CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11571,7 +11571,7 @@ func rewriteValue386_OpNeqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386SETNE)
-               v0 := b.NewValue0(v.Line, Op386CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11693,12 +11693,12 @@ func rewriteValue386_OpRsh16Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHRW, t)
+               v0 := b.NewValue0(v.Pos, Op386SHRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v2.AuxInt = 16
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -11717,12 +11717,12 @@ func rewriteValue386_OpRsh16Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHRW, t)
+               v0 := b.NewValue0(v.Pos, Op386SHRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v2.AuxInt = 16
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -11780,12 +11780,12 @@ func rewriteValue386_OpRsh16Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHRW, t)
+               v0 := b.NewValue0(v.Pos, Op386SHRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v2.AuxInt = 16
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -11806,11 +11806,11 @@ func rewriteValue386_OpRsh16x16(v *Value, config *Config) bool {
                v.reset(Op386SARW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, Op386NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, Op386SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v3.AuxInt = 16
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -11833,11 +11833,11 @@ func rewriteValue386_OpRsh16x32(v *Value, config *Config) bool {
                v.reset(Op386SARW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, Op386NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, Op386SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v3.AuxInt = 16
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -11901,11 +11901,11 @@ func rewriteValue386_OpRsh16x8(v *Value, config *Config) bool {
                v.reset(Op386SARW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, Op386NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, Op386SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v3.AuxInt = 16
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -11926,12 +11926,12 @@ func rewriteValue386_OpRsh32Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHRL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHRL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -11950,12 +11950,12 @@ func rewriteValue386_OpRsh32Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHRL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHRL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -12013,12 +12013,12 @@ func rewriteValue386_OpRsh32Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHRL, t)
+               v0 := b.NewValue0(v.Pos, Op386SHRL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -12039,11 +12039,11 @@ func rewriteValue386_OpRsh32x16(v *Value, config *Config) bool {
                v.reset(Op386SARL)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, Op386NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, Op386SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v3.AuxInt = 32
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -12066,11 +12066,11 @@ func rewriteValue386_OpRsh32x32(v *Value, config *Config) bool {
                v.reset(Op386SARL)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, Op386NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, Op386SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v3.AuxInt = 32
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -12134,11 +12134,11 @@ func rewriteValue386_OpRsh32x8(v *Value, config *Config) bool {
                v.reset(Op386SARL)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, Op386NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, Op386SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v3.AuxInt = 32
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -12159,12 +12159,12 @@ func rewriteValue386_OpRsh8Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHRB, t)
+               v0 := b.NewValue0(v.Pos, Op386SHRB, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v2.AuxInt = 8
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -12183,12 +12183,12 @@ func rewriteValue386_OpRsh8Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHRB, t)
+               v0 := b.NewValue0(v.Pos, Op386SHRB, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v2.AuxInt = 8
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -12246,12 +12246,12 @@ func rewriteValue386_OpRsh8Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(Op386ANDL)
-               v0 := b.NewValue0(v.Line, Op386SHRB, t)
+               v0 := b.NewValue0(v.Pos, Op386SHRB, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v2.AuxInt = 8
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -12272,11 +12272,11 @@ func rewriteValue386_OpRsh8x16(v *Value, config *Config) bool {
                v.reset(Op386SARB)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, Op386NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, Op386SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, Op386CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, Op386CMPWconst, TypeFlags)
                v3.AuxInt = 8
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -12299,11 +12299,11 @@ func rewriteValue386_OpRsh8x32(v *Value, config *Config) bool {
                v.reset(Op386SARB)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, Op386NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, Op386SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v3.AuxInt = 8
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -12367,11 +12367,11 @@ func rewriteValue386_OpRsh8x8(v *Value, config *Config) bool {
                v.reset(Op386SARB)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, Op386ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, Op386ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, Op386NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, Op386SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, Op386CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, Op386NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, Op386SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, Op386CMPBconst, TypeFlags)
                v3.AuxInt = 8
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -12445,9 +12445,9 @@ func rewriteValue386_OpSlicemask(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(Op386XORLconst)
                v.AuxInt = -1
-               v0 := b.NewValue0(v.Line, Op386SARLconst, t)
+               v0 := b.NewValue0(v.Pos, Op386SARLconst, t)
                v0.AuxInt = 31
-               v1 := b.NewValue0(v.Line, Op386SUBLconst, t)
+               v1 := b.NewValue0(v.Pos, Op386SUBLconst, t)
                v1.AuxInt = 1
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -12863,7 +12863,7 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                v.reset(Op386MOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 2)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, Op386MOVWstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, Op386MOVWstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -12883,7 +12883,7 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                v.reset(Op386MOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -12903,7 +12903,7 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                v.reset(Op386MOVWstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -12923,7 +12923,7 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                v.reset(Op386MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 3)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -12942,11 +12942,11 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpZero)
                v.AuxInt = SizeAndAlign(s).Size() - SizeAndAlign(s).Size()%4
-               v0 := b.NewValue0(v.Line, Op386ADDLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386ADDLconst, config.fe.TypeUInt32())
                v0.AuxInt = SizeAndAlign(s).Size() % 4
                v0.AddArg(destptr)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v1 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(destptr)
                v1.AddArg(mem)
@@ -12966,7 +12966,7 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                v.reset(Op386MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -12986,10 +12986,10 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                v.reset(Op386MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 8)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v0.AuxInt = makeValAndOff(0, 4)
                v0.AddArg(destptr)
-               v1 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v1 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(destptr)
                v1.AddArg(mem)
@@ -13010,13 +13010,13 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                v.reset(Op386MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 12)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v0.AuxInt = makeValAndOff(0, 8)
                v0.AddArg(destptr)
-               v1 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v1 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v1.AuxInt = makeValAndOff(0, 4)
                v1.AddArg(destptr)
-               v2 := b.NewValue0(v.Line, Op386MOVLstoreconst, TypeMem)
+               v2 := b.NewValue0(v.Pos, Op386MOVLstoreconst, TypeMem)
                v2.AuxInt = 0
                v2.AddArg(destptr)
                v2.AddArg(mem)
@@ -13038,7 +13038,7 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                v.reset(Op386DUFFZERO)
                v.AuxInt = 1 * (128 - SizeAndAlign(s).Size()/4)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, Op386MOVLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386MOVLconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -13056,10 +13056,10 @@ func rewriteValue386_OpZero(v *Value, config *Config) bool {
                }
                v.reset(Op386REPSTOSL)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, Op386MOVLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, Op386MOVLconst, config.fe.TypeUInt32())
                v0.AuxInt = SizeAndAlign(s).Size() / 4
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, Op386MOVLconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, Op386MOVLconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v.AddArg(v1)
                v.AddArg(mem)
@@ -13117,8 +13117,8 @@ func rewriteValue386_OpZeromask(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(Op386XORLconst)
                v.AuxInt = -1
-               v0 := b.NewValue0(v.Line, Op386SBBLcarrymask, t)
-               v1 := b.NewValue0(v.Line, Op386CMPLconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, Op386SBBLcarrymask, t)
+               v1 := b.NewValue0(v.Pos, Op386CMPLconst, TypeFlags)
                v1.AuxInt = 1
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -13680,7 +13680,7 @@ func rewriteBlock386(b *Block, config *Config) bool {
                        yes := b.Succs[0]
                        no := b.Succs[1]
                        b.Kind = Block386NE
-                       v0 := b.NewValue0(v.Line, Op386TESTB, TypeFlags)
+                       v0 := b.NewValue0(v.Pos, Op386TESTB, TypeFlags)
                        v0.AddArg(cond)
                        v0.AddArg(cond)
                        b.SetControl(v0)
index 1257ec6e7c37c81256bb091ddd692acf775319d4..2b05e9b98218372be51d33ae1e8026f52e228f87 100644 (file)
@@ -1655,7 +1655,7 @@ func rewriteValueAMD64_OpAMD64CMPB(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpAMD64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v0.AuxInt = int64(int8(c))
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1842,7 +1842,7 @@ func rewriteValueAMD64_OpAMD64CMPL(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpAMD64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2051,7 +2051,7 @@ func rewriteValueAMD64_OpAMD64CMPQ(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2299,7 +2299,7 @@ func rewriteValueAMD64_OpAMD64CMPW(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpAMD64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v0.AuxInt = int64(int16(c))
                v0.AddArg(x)
                v.AddArg(v0)
@@ -3254,7 +3254,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBQSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBQSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -3279,7 +3279,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBQSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBQSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -3304,7 +3304,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBQSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBQSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -3329,7 +3329,7 @@ func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBQSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBQSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -3406,7 +3406,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -3431,7 +3431,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -3456,7 +3456,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -3481,7 +3481,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -3507,7 +3507,7 @@ func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -4013,7 +4013,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value, config *Config) bool {
                v.AuxInt = i - 3
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpAMD64BSWAPL, w.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64BSWAPL, w.Type)
                v0.AddArg(w)
                v.AddArg(v0)
                v.AddArg(mem)
@@ -4196,7 +4196,7 @@ func rewriteValueAMD64_OpAMD64MOVBstore(v *Value, config *Config) bool {
                v.AuxInt = i - 7
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpAMD64BSWAPQ, w.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64BSWAPQ, w.Type)
                v0.AddArg(w)
                v.AddArg(v0)
                v.AddArg(mem)
@@ -4777,7 +4777,7 @@ func rewriteValueAMD64_OpAMD64MOVLQSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLQSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLQSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -4802,7 +4802,7 @@ func rewriteValueAMD64_OpAMD64MOVLQSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLQSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLQSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -4879,7 +4879,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -4904,7 +4904,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -4930,7 +4930,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -4957,7 +4957,7 @@ func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLloadidx4, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx4, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -5850,7 +5850,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconst(v *Value, config *Config) bool {
                v.AuxInt = ValAndOff(a).Off()
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, config.fe.TypeUInt64())
                v0.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32
                v.AddArg(v0)
                v.AddArg(mem)
@@ -6007,7 +6007,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx1(v *Value, config *Config) bool
                v.Aux = s
                v.AddArg(p)
                v.AddArg(i)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, config.fe.TypeUInt64())
                v0.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32
                v.AddArg(v0)
                v.AddArg(mem)
@@ -6092,11 +6092,11 @@ func rewriteValueAMD64_OpAMD64MOVLstoreconstidx4(v *Value, config *Config) bool
                v.AuxInt = ValAndOff(a).Off()
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, i.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, i.Type)
                v0.AuxInt = 2
                v0.AddArg(i)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVQconst, config.fe.TypeUInt64())
                v1.AuxInt = ValAndOff(a).Val()&0xffffffff | ValAndOff(c).Val()<<32
                v.AddArg(v1)
                v.AddArg(mem)
@@ -6378,7 +6378,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value, config *Config) bool {
                v.AuxInt = i - 4
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, idx.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type)
                v0.AuxInt = 2
                v0.AddArg(idx)
                v.AddArg(v0)
@@ -6434,7 +6434,7 @@ func rewriteValueAMD64_OpAMD64MOVLstoreidx4(v *Value, config *Config) bool {
                v.AuxInt = i - 4
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, idx.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type)
                v0.AuxInt = 2
                v0.AddArg(idx)
                v.AddArg(v0)
@@ -8621,7 +8621,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWQSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWQSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -8646,7 +8646,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWQSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWQSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -8671,7 +8671,7 @@ func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWQSXload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWQSXload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -8748,7 +8748,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -8773,7 +8773,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -8798,7 +8798,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -8824,7 +8824,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -8851,7 +8851,7 @@ func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWloadidx2, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx2, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -9928,7 +9928,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreconstidx2(v *Value, config *Config) bool
                v.AuxInt = makeValAndOff(ValAndOff(a).Val()&0xffff|ValAndOff(c).Val()<<16, ValAndOff(a).Off())
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, i.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, i.Type)
                v0.AuxInt = 1
                v0.AddArg(i)
                v.AddArg(v0)
@@ -10211,7 +10211,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value, config *Config) bool {
                v.AuxInt = i - 2
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, idx.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type)
                v0.AuxInt = 1
                v0.AddArg(idx)
                v.AddArg(v0)
@@ -10267,7 +10267,7 @@ func rewriteValueAMD64_OpAMD64MOVWstoreidx2(v *Value, config *Config) bool {
                v.AuxInt = i - 2
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, idx.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, idx.Type)
                v0.AuxInt = 1
                v0.AddArg(idx)
                v.AddArg(v0)
@@ -10481,7 +10481,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                }
                x := v.Args[0]
                v.reset(OpAMD64LEAQ8)
-               v0 := b.NewValue0(v.Line, OpAMD64NEGQ, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64NEGQ, v.Type)
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(x)
@@ -10510,7 +10510,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64LEAQ2)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ4, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10526,7 +10526,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64LEAQ4)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ2, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10542,7 +10542,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64LEAQ4)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ4, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10558,7 +10558,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64LEAQ8)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ2, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10574,7 +10574,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64LEAQ4)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ8, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10590,7 +10590,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64LEAQ8)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ4, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10606,7 +10606,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64LEAQ8)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ8, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10636,7 +10636,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64SUBQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
                v0.AuxInt = log2(c + 1)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10653,7 +10653,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64LEAQ1)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
                v0.AuxInt = log2(c - 1)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10670,7 +10670,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64LEAQ2)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
                v0.AuxInt = log2(c - 2)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10687,7 +10687,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64LEAQ4)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
                v0.AuxInt = log2(c - 4)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10704,7 +10704,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64LEAQ8)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQconst, v.Type)
                v0.AuxInt = log2(c - 8)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10722,7 +10722,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                }
                v.reset(OpAMD64SHLQconst)
                v.AuxInt = log2(c / 3)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ2, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10739,7 +10739,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                }
                v.reset(OpAMD64SHLQconst)
                v.AuxInt = log2(c / 5)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ4, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10756,7 +10756,7 @@ func rewriteValueAMD64_OpAMD64MULQconst(v *Value, config *Config) bool {
                }
                v.reset(OpAMD64SHLQconst)
                v.AuxInt = log2(c / 9)
-               v0 := b.NewValue0(v.Line, OpAMD64LEAQ8, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
                v0.AddArg(x)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10935,7 +10935,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, config.fe.TypeUInt16())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -11010,7 +11010,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, config.fe.TypeUInt32())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -11062,7 +11062,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -11145,7 +11145,7 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -11248,10 +11248,10 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3)
-               v0 := b.NewValue0(v.Line, OpAMD64BSWAPL, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64BSWAPL, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVLload, config.fe.TypeUInt32())
                v1.AuxInt = i - 3
                v1.Aux = s
                v1.AddArg(p)
@@ -11362,10 +11362,10 @@ func rewriteValueAMD64_OpAMD64ORL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3)
-               v0 := b.NewValue0(v.Line, OpAMD64BSWAPL, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64BSWAPL, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVLloadidx1, v.Type)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVLloadidx1, v.Type)
                v1.AuxInt = i - 3
                v1.Aux = s
                v1.AddArg(p)
@@ -11674,7 +11674,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, config.fe.TypeUInt64())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -11906,7 +11906,7 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQloadidx1, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQloadidx1, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -12117,10 +12117,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpAMD64BSWAPQ, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64BSWAPQ, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVQload, config.fe.TypeUInt64())
                v1.AuxInt = i - 7
                v1.Aux = s
                v1.AddArg(p)
@@ -12351,10 +12351,10 @@ func rewriteValueAMD64_OpAMD64ORQ(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpAMD64BSWAPQ, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64BSWAPQ, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVQloadidx1, v.Type)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVQloadidx1, v.Type)
                v1.AuxInt = i - 7
                v1.Aux = s
                v1.AddArg(p)
@@ -14017,7 +14017,7 @@ func rewriteValueAMD64_OpAMD64SUBL(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpAMD64NEGL)
-               v0 := b.NewValue0(v.Line, OpAMD64SUBLconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SUBLconst, v.Type)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -14101,7 +14101,7 @@ func rewriteValueAMD64_OpAMD64SUBQ(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64NEGQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SUBQconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64SUBQconst, v.Type)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -14797,7 +14797,7 @@ func rewriteValueAMD64_OpAtomicAdd32(v *Value, config *Config) bool {
                val := v.Args[1]
                mem := v.Args[2]
                v.reset(OpAMD64AddTupleFirst32)
-               v0 := b.NewValue0(v.Line, OpAMD64XADDLlock, MakeTuple(config.fe.TypeUInt32(), TypeMem))
+               v0 := b.NewValue0(v.Pos, OpAMD64XADDLlock, MakeTuple(config.fe.TypeUInt32(), TypeMem))
                v0.AddArg(val)
                v0.AddArg(ptr)
                v0.AddArg(mem)
@@ -14817,7 +14817,7 @@ func rewriteValueAMD64_OpAtomicAdd64(v *Value, config *Config) bool {
                val := v.Args[1]
                mem := v.Args[2]
                v.reset(OpAMD64AddTupleFirst64)
-               v0 := b.NewValue0(v.Line, OpAMD64XADDQlock, MakeTuple(config.fe.TypeUInt64(), TypeMem))
+               v0 := b.NewValue0(v.Pos, OpAMD64XADDQlock, MakeTuple(config.fe.TypeUInt64(), TypeMem))
                v0.AddArg(val)
                v0.AddArg(ptr)
                v0.AddArg(mem)
@@ -15006,7 +15006,7 @@ func rewriteValueAMD64_OpAtomicStore32(v *Value, config *Config) bool {
                val := v.Args[1]
                mem := v.Args[2]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64XCHGL, MakeTuple(config.Frontend().TypeUInt32(), TypeMem))
+               v0 := b.NewValue0(v.Pos, OpAMD64XCHGL, MakeTuple(config.Frontend().TypeUInt32(), TypeMem))
                v0.AddArg(val)
                v0.AddArg(ptr)
                v0.AddArg(mem)
@@ -15025,7 +15025,7 @@ func rewriteValueAMD64_OpAtomicStore64(v *Value, config *Config) bool {
                val := v.Args[1]
                mem := v.Args[2]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64XCHGQ, MakeTuple(config.Frontend().TypeUInt64(), TypeMem))
+               v0 := b.NewValue0(v.Pos, OpAMD64XCHGQ, MakeTuple(config.Frontend().TypeUInt64(), TypeMem))
                v0.AddArg(val)
                v0.AddArg(ptr)
                v0.AddArg(mem)
@@ -15047,7 +15047,7 @@ func rewriteValueAMD64_OpAtomicStorePtrNoWB(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64XCHGQ, MakeTuple(config.Frontend().TypeBytePtr(), TypeMem))
+               v0 := b.NewValue0(v.Pos, OpAMD64XCHGQ, MakeTuple(config.Frontend().TypeBytePtr(), TypeMem))
                v0.AddArg(val)
                v0.AddArg(ptr)
                v0.AddArg(mem)
@@ -15065,7 +15065,7 @@ func rewriteValueAMD64_OpAtomicStorePtrNoWB(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64XCHGL, MakeTuple(config.Frontend().TypeBytePtr(), TypeMem))
+               v0 := b.NewValue0(v.Pos, OpAMD64XCHGL, MakeTuple(config.Frontend().TypeBytePtr(), TypeMem))
                v0.AddArg(val)
                v0.AddArg(ptr)
                v0.AddArg(mem)
@@ -15351,16 +15351,16 @@ func rewriteValueAMD64_OpCtz32(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpAMD64CMOVLEQ)
-               v0 := b.NewValue0(v.Line, OpSelect0, t)
-               v1 := b.NewValue0(v.Line, OpAMD64BSFL, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
+               v0 := b.NewValue0(v.Pos, OpSelect0, t)
+               v1 := b.NewValue0(v.Pos, OpAMD64BSFL, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
                v1.AddArg(x)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVLconst, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVLconst, t)
                v2.AuxInt = 32
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSelect1, TypeFlags)
-               v4 := b.NewValue0(v.Line, OpAMD64BSFL, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
+               v3 := b.NewValue0(v.Pos, OpSelect1, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpAMD64BSFL, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
                v4.AddArg(x)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -15377,16 +15377,16 @@ func rewriteValueAMD64_OpCtz64(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpAMD64CMOVQEQ)
-               v0 := b.NewValue0(v.Line, OpSelect0, t)
-               v1 := b.NewValue0(v.Line, OpAMD64BSFQ, MakeTuple(config.fe.TypeUInt64(), TypeFlags))
+               v0 := b.NewValue0(v.Pos, OpSelect0, t)
+               v1 := b.NewValue0(v.Pos, OpAMD64BSFQ, MakeTuple(config.fe.TypeUInt64(), TypeFlags))
                v1.AddArg(x)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVQconst, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVQconst, t)
                v2.AuxInt = 64
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSelect1, TypeFlags)
-               v4 := b.NewValue0(v.Line, OpAMD64BSFQ, MakeTuple(config.fe.TypeUInt64(), TypeFlags))
+               v3 := b.NewValue0(v.Pos, OpSelect1, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpAMD64BSFQ, MakeTuple(config.fe.TypeUInt64(), TypeFlags))
                v4.AddArg(x)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -15565,7 +15565,7 @@ func rewriteValueAMD64_OpDiv16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVW, MakeTuple(config.fe.TypeInt16(), config.fe.TypeInt16()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVW, MakeTuple(config.fe.TypeInt16(), config.fe.TypeInt16()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15582,7 +15582,7 @@ func rewriteValueAMD64_OpDiv16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVWU, MakeTuple(config.fe.TypeUInt16(), config.fe.TypeUInt16()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, MakeTuple(config.fe.TypeUInt16(), config.fe.TypeUInt16()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15599,7 +15599,7 @@ func rewriteValueAMD64_OpDiv32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVL, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVL, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15631,7 +15631,7 @@ func rewriteValueAMD64_OpDiv32u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVLU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVLU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15648,7 +15648,7 @@ func rewriteValueAMD64_OpDiv64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVQ, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15680,7 +15680,7 @@ func rewriteValueAMD64_OpDiv64u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVQU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVQU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15697,11 +15697,11 @@ func rewriteValueAMD64_OpDiv8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVW, MakeTuple(config.fe.TypeInt16(), config.fe.TypeInt16()))
-               v1 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVW, MakeTuple(config.fe.TypeInt16(), config.fe.TypeInt16()))
+               v1 := b.NewValue0(v.Pos, OpSignExt8to16, config.fe.TypeInt16())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to16, config.fe.TypeInt16())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -15718,11 +15718,11 @@ func rewriteValueAMD64_OpDiv8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVWU, MakeTuple(config.fe.TypeUInt16(), config.fe.TypeUInt16()))
-               v1 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, MakeTuple(config.fe.TypeUInt16(), config.fe.TypeUInt16()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to16, config.fe.TypeUInt16())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to16, config.fe.TypeUInt16())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -15739,7 +15739,7 @@ func rewriteValueAMD64_OpEq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETEQ)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15756,7 +15756,7 @@ func rewriteValueAMD64_OpEq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETEQ)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15773,7 +15773,7 @@ func rewriteValueAMD64_OpEq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETEQF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15790,7 +15790,7 @@ func rewriteValueAMD64_OpEq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETEQ)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15807,7 +15807,7 @@ func rewriteValueAMD64_OpEq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETEQF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15824,7 +15824,7 @@ func rewriteValueAMD64_OpEq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETEQ)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15841,7 +15841,7 @@ func rewriteValueAMD64_OpEqB(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETEQ)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15861,7 +15861,7 @@ func rewriteValueAMD64_OpEqPtr(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64SETEQ)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15877,7 +15877,7 @@ func rewriteValueAMD64_OpEqPtr(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64SETEQ)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15895,7 +15895,7 @@ func rewriteValueAMD64_OpGeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15912,7 +15912,7 @@ func rewriteValueAMD64_OpGeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETAE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15929,7 +15929,7 @@ func rewriteValueAMD64_OpGeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15946,7 +15946,7 @@ func rewriteValueAMD64_OpGeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGEF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15963,7 +15963,7 @@ func rewriteValueAMD64_OpGeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETAE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15980,7 +15980,7 @@ func rewriteValueAMD64_OpGeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15997,7 +15997,7 @@ func rewriteValueAMD64_OpGeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGEF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16014,7 +16014,7 @@ func rewriteValueAMD64_OpGeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETAE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16031,7 +16031,7 @@ func rewriteValueAMD64_OpGeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16048,7 +16048,7 @@ func rewriteValueAMD64_OpGeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETAE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16104,7 +16104,7 @@ func rewriteValueAMD64_OpGreater16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETG)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16121,7 +16121,7 @@ func rewriteValueAMD64_OpGreater16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETA)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16138,7 +16138,7 @@ func rewriteValueAMD64_OpGreater32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETG)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16155,7 +16155,7 @@ func rewriteValueAMD64_OpGreater32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16172,7 +16172,7 @@ func rewriteValueAMD64_OpGreater32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETA)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16189,7 +16189,7 @@ func rewriteValueAMD64_OpGreater64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETG)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16206,7 +16206,7 @@ func rewriteValueAMD64_OpGreater64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16223,7 +16223,7 @@ func rewriteValueAMD64_OpGreater64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETA)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16240,7 +16240,7 @@ func rewriteValueAMD64_OpGreater8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETG)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16257,7 +16257,7 @@ func rewriteValueAMD64_OpGreater8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETA)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16425,7 +16425,7 @@ func rewriteValueAMD64_OpIsInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpAMD64SETB)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -16444,7 +16444,7 @@ func rewriteValueAMD64_OpIsNonNil(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64SETNE)
-               v0 := b.NewValue0(v.Line, OpAMD64TESTQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64TESTQ, TypeFlags)
                v0.AddArg(p)
                v0.AddArg(p)
                v.AddArg(v0)
@@ -16459,7 +16459,7 @@ func rewriteValueAMD64_OpIsNonNil(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64SETNE)
-               v0 := b.NewValue0(v.Line, OpAMD64TESTL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64TESTL, TypeFlags)
                v0.AddArg(p)
                v0.AddArg(p)
                v.AddArg(v0)
@@ -16477,7 +16477,7 @@ func rewriteValueAMD64_OpIsSliceInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpAMD64SETBE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -16494,7 +16494,7 @@ func rewriteValueAMD64_OpLeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETLE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16511,7 +16511,7 @@ func rewriteValueAMD64_OpLeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETBE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16528,7 +16528,7 @@ func rewriteValueAMD64_OpLeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETLE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16545,7 +16545,7 @@ func rewriteValueAMD64_OpLeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGEF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -16562,7 +16562,7 @@ func rewriteValueAMD64_OpLeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETBE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16579,7 +16579,7 @@ func rewriteValueAMD64_OpLeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETLE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16596,7 +16596,7 @@ func rewriteValueAMD64_OpLeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGEF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -16613,7 +16613,7 @@ func rewriteValueAMD64_OpLeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETBE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16630,7 +16630,7 @@ func rewriteValueAMD64_OpLeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETLE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16647,7 +16647,7 @@ func rewriteValueAMD64_OpLeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETBE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16664,7 +16664,7 @@ func rewriteValueAMD64_OpLess16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETL)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16681,7 +16681,7 @@ func rewriteValueAMD64_OpLess16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETB)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16698,7 +16698,7 @@ func rewriteValueAMD64_OpLess32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETL)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16715,7 +16715,7 @@ func rewriteValueAMD64_OpLess32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -16732,7 +16732,7 @@ func rewriteValueAMD64_OpLess32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETB)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16749,7 +16749,7 @@ func rewriteValueAMD64_OpLess64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETL)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16766,7 +16766,7 @@ func rewriteValueAMD64_OpLess64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETGF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -16783,7 +16783,7 @@ func rewriteValueAMD64_OpLess64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETB)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16800,7 +16800,7 @@ func rewriteValueAMD64_OpLess8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETL)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16817,7 +16817,7 @@ func rewriteValueAMD64_OpLess8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETB)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16998,12 +16998,12 @@ func rewriteValueAMD64_OpLsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17022,12 +17022,12 @@ func rewriteValueAMD64_OpLsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17046,12 +17046,12 @@ func rewriteValueAMD64_OpLsh16x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17070,12 +17070,12 @@ func rewriteValueAMD64_OpLsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17094,12 +17094,12 @@ func rewriteValueAMD64_OpLsh32x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17118,12 +17118,12 @@ func rewriteValueAMD64_OpLsh32x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17142,12 +17142,12 @@ func rewriteValueAMD64_OpLsh32x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17166,12 +17166,12 @@ func rewriteValueAMD64_OpLsh32x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17190,12 +17190,12 @@ func rewriteValueAMD64_OpLsh64x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQ, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17214,12 +17214,12 @@ func rewriteValueAMD64_OpLsh64x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQ, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17238,12 +17238,12 @@ func rewriteValueAMD64_OpLsh64x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQ, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17262,12 +17262,12 @@ func rewriteValueAMD64_OpLsh64x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLQ, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLQ, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17286,12 +17286,12 @@ func rewriteValueAMD64_OpLsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17310,12 +17310,12 @@ func rewriteValueAMD64_OpLsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17334,12 +17334,12 @@ func rewriteValueAMD64_OpLsh8x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17358,12 +17358,12 @@ func rewriteValueAMD64_OpLsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -17381,7 +17381,7 @@ func rewriteValueAMD64_OpMod16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVW, MakeTuple(config.fe.TypeInt16(), config.fe.TypeInt16()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVW, MakeTuple(config.fe.TypeInt16(), config.fe.TypeInt16()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -17398,7 +17398,7 @@ func rewriteValueAMD64_OpMod16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVWU, MakeTuple(config.fe.TypeUInt16(), config.fe.TypeUInt16()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, MakeTuple(config.fe.TypeUInt16(), config.fe.TypeUInt16()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -17415,7 +17415,7 @@ func rewriteValueAMD64_OpMod32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVL, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVL, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -17432,7 +17432,7 @@ func rewriteValueAMD64_OpMod32u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVLU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVLU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -17449,7 +17449,7 @@ func rewriteValueAMD64_OpMod64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVQ, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVQ, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -17466,7 +17466,7 @@ func rewriteValueAMD64_OpMod64u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVQU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVQU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -17483,11 +17483,11 @@ func rewriteValueAMD64_OpMod8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVW, MakeTuple(config.fe.TypeInt16(), config.fe.TypeInt16()))
-               v1 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVW, MakeTuple(config.fe.TypeInt16(), config.fe.TypeInt16()))
+               v1 := b.NewValue0(v.Pos, OpSignExt8to16, config.fe.TypeInt16())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to16, config.fe.TypeInt16())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -17504,11 +17504,11 @@ func rewriteValueAMD64_OpMod8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpAMD64DIVWU, MakeTuple(config.fe.TypeUInt16(), config.fe.TypeUInt16()))
-               v1 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpAMD64DIVWU, MakeTuple(config.fe.TypeUInt16(), config.fe.TypeUInt16()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to16, config.fe.TypeUInt16())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to16, config.fe.TypeUInt16())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -17545,7 +17545,7 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpAMD64MOVBstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, config.fe.TypeUInt8())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -17565,7 +17565,7 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpAMD64MOVWstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, config.fe.TypeUInt16())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -17585,7 +17585,7 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpAMD64MOVLstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, config.fe.TypeUInt32())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -17605,7 +17605,7 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpAMD64MOVQstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, config.fe.TypeUInt64())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -17625,7 +17625,7 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpAMD64MOVOstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVOload, TypeInt128)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVOload, TypeInt128)
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -17646,14 +17646,14 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, config.fe.TypeUInt8())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVWstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVWload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVWload, config.fe.TypeUInt16())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -17675,14 +17675,14 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVBstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVBload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVBload, config.fe.TypeUInt8())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVLstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVLstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVLload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -17704,14 +17704,14 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVWstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWload, config.fe.TypeUInt16())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVLstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVLstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVLload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -17733,14 +17733,14 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVLstore)
                v.AuxInt = 3
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLload, config.fe.TypeUInt32())
                v0.AuxInt = 3
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVLstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVLstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVLload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -17762,14 +17762,14 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVQstore)
                v.AuxInt = SizeAndAlign(s).Size() - 8
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQload, config.fe.TypeUInt64())
                v0.AuxInt = SizeAndAlign(s).Size() - 8
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVQstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVQload, config.fe.TypeUInt64())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -17790,17 +17790,17 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMove)
                v.AuxInt = SizeAndAlign(s).Size() - SizeAndAlign(s).Size()%16
-               v0 := b.NewValue0(v.Line, OpOffPtr, dst.Type)
+               v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
                v0.AuxInt = SizeAndAlign(s).Size() % 16
                v0.AddArg(dst)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOffPtr, src.Type)
+               v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
                v1.AuxInt = SizeAndAlign(s).Size() % 16
                v1.AddArg(src)
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVQstore, TypeMem)
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVQstore, TypeMem)
                v2.AddArg(dst)
-               v3 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpAMD64MOVQload, config.fe.TypeUInt64())
                v3.AddArg(src)
                v3.AddArg(mem)
                v2.AddArg(v3)
@@ -17821,17 +17821,17 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMove)
                v.AuxInt = SizeAndAlign(s).Size() - SizeAndAlign(s).Size()%16
-               v0 := b.NewValue0(v.Line, OpOffPtr, dst.Type)
+               v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
                v0.AuxInt = SizeAndAlign(s).Size() % 16
                v0.AddArg(dst)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOffPtr, src.Type)
+               v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
                v1.AuxInt = SizeAndAlign(s).Size() % 16
                v1.AddArg(src)
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVOstore, TypeMem)
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, TypeMem)
                v2.AddArg(dst)
-               v3 := b.NewValue0(v.Line, OpAMD64MOVOload, TypeInt128)
+               v3 := b.NewValue0(v.Pos, OpAMD64MOVOload, TypeInt128)
                v3.AddArg(src)
                v3.AddArg(mem)
                v2.AddArg(v3)
@@ -17871,7 +17871,7 @@ func rewriteValueAMD64_OpMove(v *Value, config *Config) bool {
                v.reset(OpAMD64REPMOVSQ)
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, config.fe.TypeUInt64())
                v0.AuxInt = SizeAndAlign(s).Size() / 8
                v.AddArg(v0)
                v.AddArg(mem)
@@ -18020,7 +18020,7 @@ func rewriteValueAMD64_OpNeg32F(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64PXOR)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVSSconst, config.Frontend().TypeFloat32())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVSSconst, config.Frontend().TypeFloat32())
                v0.AuxInt = f2i(math.Copysign(0, -1))
                v.AddArg(v0)
                return true
@@ -18049,7 +18049,7 @@ func rewriteValueAMD64_OpNeg64F(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64PXOR)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVSDconst, config.Frontend().TypeFloat64())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVSDconst, config.Frontend().TypeFloat64())
                v0.AuxInt = f2i(math.Copysign(0, -1))
                v.AddArg(v0)
                return true
@@ -18078,7 +18078,7 @@ func rewriteValueAMD64_OpNeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETNE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -18095,7 +18095,7 @@ func rewriteValueAMD64_OpNeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETNE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -18112,7 +18112,7 @@ func rewriteValueAMD64_OpNeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETNEF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -18129,7 +18129,7 @@ func rewriteValueAMD64_OpNeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETNE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -18146,7 +18146,7 @@ func rewriteValueAMD64_OpNeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETNEF)
-               v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -18163,7 +18163,7 @@ func rewriteValueAMD64_OpNeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETNE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -18180,7 +18180,7 @@ func rewriteValueAMD64_OpNeqB(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64SETNE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPB, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -18200,7 +18200,7 @@ func rewriteValueAMD64_OpNeqPtr(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64SETNE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPQ, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -18216,7 +18216,7 @@ func rewriteValueAMD64_OpNeqPtr(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64SETNE)
-               v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpAMD64CMPL, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -18280,7 +18280,7 @@ func rewriteValueAMD64_OpOffPtr(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAMD64ADDQ)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, config.fe.TypeUInt64())
                v0.AuxInt = off
                v.AddArg(v0)
                v.AddArg(ptr)
@@ -18388,12 +18388,12 @@ func rewriteValueAMD64_OpRsh16Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRW, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v2.AuxInt = 16
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18412,12 +18412,12 @@ func rewriteValueAMD64_OpRsh16Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRW, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v2.AuxInt = 16
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18436,12 +18436,12 @@ func rewriteValueAMD64_OpRsh16Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRW, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v2.AuxInt = 16
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18460,12 +18460,12 @@ func rewriteValueAMD64_OpRsh16Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRW, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v2.AuxInt = 16
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18486,11 +18486,11 @@ func rewriteValueAMD64_OpRsh16x16(v *Value, config *Config) bool {
                v.reset(OpAMD64SARW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v3.AuxInt = 16
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18513,11 +18513,11 @@ func rewriteValueAMD64_OpRsh16x32(v *Value, config *Config) bool {
                v.reset(OpAMD64SARW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v3.AuxInt = 16
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18540,11 +18540,11 @@ func rewriteValueAMD64_OpRsh16x64(v *Value, config *Config) bool {
                v.reset(OpAMD64SARW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORQ, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTQ, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v3.AuxInt = 16
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18567,11 +18567,11 @@ func rewriteValueAMD64_OpRsh16x8(v *Value, config *Config) bool {
                v.reset(OpAMD64SARW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v3.AuxInt = 16
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18592,12 +18592,12 @@ func rewriteValueAMD64_OpRsh32Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18616,12 +18616,12 @@ func rewriteValueAMD64_OpRsh32Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18640,12 +18640,12 @@ func rewriteValueAMD64_OpRsh32Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18664,12 +18664,12 @@ func rewriteValueAMD64_OpRsh32Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRL, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v2.AuxInt = 32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18690,11 +18690,11 @@ func rewriteValueAMD64_OpRsh32x16(v *Value, config *Config) bool {
                v.reset(OpAMD64SARL)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v3.AuxInt = 32
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18717,11 +18717,11 @@ func rewriteValueAMD64_OpRsh32x32(v *Value, config *Config) bool {
                v.reset(OpAMD64SARL)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v3.AuxInt = 32
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18744,11 +18744,11 @@ func rewriteValueAMD64_OpRsh32x64(v *Value, config *Config) bool {
                v.reset(OpAMD64SARL)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORQ, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTQ, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v3.AuxInt = 32
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18771,11 +18771,11 @@ func rewriteValueAMD64_OpRsh32x8(v *Value, config *Config) bool {
                v.reset(OpAMD64SARL)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v3.AuxInt = 32
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18796,12 +18796,12 @@ func rewriteValueAMD64_OpRsh64Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRQ, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18820,12 +18820,12 @@ func rewriteValueAMD64_OpRsh64Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRQ, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18844,12 +18844,12 @@ func rewriteValueAMD64_OpRsh64Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRQ, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18868,12 +18868,12 @@ func rewriteValueAMD64_OpRsh64Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDQ)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRQ, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRQ, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -18894,11 +18894,11 @@ func rewriteValueAMD64_OpRsh64x16(v *Value, config *Config) bool {
                v.reset(OpAMD64SARQ)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18921,11 +18921,11 @@ func rewriteValueAMD64_OpRsh64x32(v *Value, config *Config) bool {
                v.reset(OpAMD64SARQ)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18948,11 +18948,11 @@ func rewriteValueAMD64_OpRsh64x64(v *Value, config *Config) bool {
                v.reset(OpAMD64SARQ)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORQ, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTQ, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -18975,11 +18975,11 @@ func rewriteValueAMD64_OpRsh64x8(v *Value, config *Config) bool {
                v.reset(OpAMD64SARQ)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -19000,12 +19000,12 @@ func rewriteValueAMD64_OpRsh8Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRB, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v2.AuxInt = 8
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -19024,12 +19024,12 @@ func rewriteValueAMD64_OpRsh8Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRB, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v2.AuxInt = 8
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -19048,12 +19048,12 @@ func rewriteValueAMD64_OpRsh8Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRB, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v2.AuxInt = 8
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -19072,12 +19072,12 @@ func rewriteValueAMD64_OpRsh8Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAMD64ANDL)
-               v0 := b.NewValue0(v.Line, OpAMD64SHRB, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SHRB, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v2.AuxInt = 8
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -19098,11 +19098,11 @@ func rewriteValueAMD64_OpRsh8x16(v *Value, config *Config) bool {
                v.reset(OpAMD64SARB)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPWconst, TypeFlags)
                v3.AuxInt = 8
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -19125,11 +19125,11 @@ func rewriteValueAMD64_OpRsh8x32(v *Value, config *Config) bool {
                v.reset(OpAMD64SARB)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPLconst, TypeFlags)
                v3.AuxInt = 8
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -19152,11 +19152,11 @@ func rewriteValueAMD64_OpRsh8x64(v *Value, config *Config) bool {
                v.reset(OpAMD64SARB)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORQ, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORQ, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTQ, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTQ, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBQcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPQconst, TypeFlags)
                v3.AuxInt = 8
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -19179,11 +19179,11 @@ func rewriteValueAMD64_OpRsh8x8(v *Value, config *Config) bool {
                v.reset(OpAMD64SARB)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
+               v0 := b.NewValue0(v.Pos, OpAMD64ORL, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
-               v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpAMD64NOTL, y.Type)
+               v2 := b.NewValue0(v.Pos, OpAMD64SBBLcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpAMD64CMPBconst, TypeFlags)
                v3.AuxInt = 8
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -19209,7 +19209,7 @@ func rewriteValueAMD64_OpSelect0(v *Value, config *Config) bool {
                val := v_0.Args[1]
                v.reset(OpAMD64ADDL)
                v.AddArg(val)
-               v0 := b.NewValue0(v.Line, OpSelect0, t)
+               v0 := b.NewValue0(v.Pos, OpSelect0, t)
                v0.AddArg(tuple)
                v.AddArg(v0)
                return true
@@ -19227,7 +19227,7 @@ func rewriteValueAMD64_OpSelect0(v *Value, config *Config) bool {
                val := v_0.Args[1]
                v.reset(OpAMD64ADDQ)
                v.AddArg(val)
-               v0 := b.NewValue0(v.Line, OpSelect0, t)
+               v0 := b.NewValue0(v.Pos, OpSelect0, t)
                v0.AddArg(tuple)
                v.AddArg(v0)
                return true
@@ -19354,9 +19354,9 @@ func rewriteValueAMD64_OpSlicemask(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpAMD64XORQconst)
                v.AuxInt = -1
-               v0 := b.NewValue0(v.Line, OpAMD64SARQconst, t)
+               v0 := b.NewValue0(v.Pos, OpAMD64SARQconst, t)
                v0.AuxInt = 63
-               v1 := b.NewValue0(v.Line, OpAMD64SUBQconst, t)
+               v1 := b.NewValue0(v.Pos, OpAMD64SUBQconst, t)
                v1.AuxInt = 1
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -19862,7 +19862,7 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 2)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVWstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVWstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -19882,7 +19882,7 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -19902,7 +19902,7 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVWstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -19922,7 +19922,7 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVLstoreconst)
                v.AuxInt = makeValAndOff(0, 3)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVLstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVLstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -19941,11 +19941,11 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpZero)
                v.AuxInt = SizeAndAlign(s).Size() - SizeAndAlign(s).Size()%8
-               v0 := b.NewValue0(v.Line, OpOffPtr, destptr.Type)
+               v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
                v0.AuxInt = SizeAndAlign(s).Size() % 8
                v0.AddArg(destptr)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(destptr)
                v1.AddArg(mem)
@@ -19965,7 +19965,7 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVQstoreconst)
                v.AuxInt = makeValAndOff(0, 8)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -19985,10 +19985,10 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVQstoreconst)
                v.AuxInt = makeValAndOff(0, 16)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, TypeMem)
                v0.AuxInt = makeValAndOff(0, 8)
                v0.AddArg(destptr)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(destptr)
                v1.AddArg(mem)
@@ -20009,13 +20009,13 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                v.reset(OpAMD64MOVQstoreconst)
                v.AuxInt = makeValAndOff(0, 24)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, TypeMem)
                v0.AuxInt = makeValAndOff(0, 16)
                v0.AddArg(destptr)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, TypeMem)
                v1.AuxInt = makeValAndOff(0, 8)
                v1.AddArg(destptr)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVQstoreconst, TypeMem)
                v2.AuxInt = 0
                v2.AddArg(destptr)
                v2.AddArg(mem)
@@ -20036,13 +20036,13 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpZero)
                v.AuxInt = SizeAndAlign(s).Size() - 8
-               v0 := b.NewValue0(v.Line, OpOffPtr, destptr.Type)
+               v0 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
                v0.AuxInt = 8
                v0.AddArg(destptr)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVQstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVQstore, TypeMem)
                v1.AddArg(destptr)
-               v2 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpAMD64MOVQconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -20062,7 +20062,7 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                v.reset(OpAMD64DUFFZERO)
                v.AuxInt = SizeAndAlign(s).Size()
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVOconst, TypeInt128)
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVOconst, TypeInt128)
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -20080,10 +20080,10 @@ func rewriteValueAMD64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpAMD64REPSTOSQ)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpAMD64MOVQconst, config.fe.TypeUInt64())
                v0.AuxInt = SizeAndAlign(s).Size() / 8
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpAMD64MOVQconst, config.fe.TypeUInt64())
                v1.AuxInt = 0
                v.AddArg(v1)
                v.AddArg(mem)
@@ -20723,7 +20723,7 @@ func rewriteBlockAMD64(b *Block, config *Config) bool {
                        yes := b.Succs[0]
                        no := b.Succs[1]
                        b.Kind = BlockAMD64NE
-                       v0 := b.NewValue0(v.Line, OpAMD64TESTB, TypeFlags)
+                       v0 := b.NewValue0(v.Pos, OpAMD64TESTB, TypeFlags)
                        v0.AddArg(cond)
                        v0.AddArg(cond)
                        b.SetControl(v0)
index 0f8a77f548c9ef46ee4de96bf447b072fff5901b..edfd9ac9c3171b452e6540d975552614774afcf3 100644 (file)
@@ -1058,7 +1058,7 @@ func rewriteValueARM_OpARMADCshiftLL(v *Value, config *Config) bool {
                flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1102,7 +1102,7 @@ func rewriteValueARM_OpARMADCshiftLLreg(v *Value, config *Config) bool {
                flags := v.Args[3]
                v.reset(OpARMADCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1147,7 +1147,7 @@ func rewriteValueARM_OpARMADCshiftRA(v *Value, config *Config) bool {
                flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1191,7 +1191,7 @@ func rewriteValueARM_OpARMADCshiftRAreg(v *Value, config *Config) bool {
                flags := v.Args[3]
                v.reset(OpARMADCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1236,7 +1236,7 @@ func rewriteValueARM_OpARMADCshiftRL(v *Value, config *Config) bool {
                flags := v.Args[2]
                v.reset(OpARMADCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1280,7 +1280,7 @@ func rewriteValueARM_OpARMADCshiftRLreg(v *Value, config *Config) bool {
                flags := v.Args[3]
                v.reset(OpARMADCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1872,7 +1872,7 @@ func rewriteValueARM_OpARMADDSshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1912,7 +1912,7 @@ func rewriteValueARM_OpARMADDSshiftLLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1953,7 +1953,7 @@ func rewriteValueARM_OpARMADDSshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1993,7 +1993,7 @@ func rewriteValueARM_OpARMADDSshiftRAreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2034,7 +2034,7 @@ func rewriteValueARM_OpARMADDSshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2074,7 +2074,7 @@ func rewriteValueARM_OpARMADDSshiftRLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMADDSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2213,7 +2213,7 @@ func rewriteValueARM_OpARMADDshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMADDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2253,7 +2253,7 @@ func rewriteValueARM_OpARMADDshiftLLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMADDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2294,7 +2294,7 @@ func rewriteValueARM_OpARMADDshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMADDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2334,7 +2334,7 @@ func rewriteValueARM_OpARMADDshiftRAreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMADDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2375,7 +2375,7 @@ func rewriteValueARM_OpARMADDshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMADDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2415,7 +2415,7 @@ func rewriteValueARM_OpARMADDshiftRLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMADDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2900,7 +2900,7 @@ func rewriteValueARM_OpARMANDshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMANDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2962,7 +2962,7 @@ func rewriteValueARM_OpARMANDshiftLLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMANDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -3003,7 +3003,7 @@ func rewriteValueARM_OpARMANDshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMANDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -3065,7 +3065,7 @@ func rewriteValueARM_OpARMANDshiftRAreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMANDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -3106,7 +3106,7 @@ func rewriteValueARM_OpARMANDshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMANDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -3168,7 +3168,7 @@ func rewriteValueARM_OpARMANDshiftRLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMANDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -3770,7 +3770,7 @@ func rewriteValueARM_OpARMCMP(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -3805,7 +3805,7 @@ func rewriteValueARM_OpARMCMP(v *Value, config *Config) bool {
                y := v_0.Args[0]
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPshiftLL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPshiftLL, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v0.AddArg(y)
@@ -3841,7 +3841,7 @@ func rewriteValueARM_OpARMCMP(v *Value, config *Config) bool {
                y := v_0.Args[0]
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPshiftRL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPshiftRL, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v0.AddArg(y)
@@ -3877,7 +3877,7 @@ func rewriteValueARM_OpARMCMP(v *Value, config *Config) bool {
                y := v_0.Args[0]
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPshiftRA, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPshiftRA, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v0.AddArg(y)
@@ -3913,7 +3913,7 @@ func rewriteValueARM_OpARMCMP(v *Value, config *Config) bool {
                z := v_0.Args[1]
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPshiftLLreg, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPshiftLLreg, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v0.AddArg(z)
@@ -3949,7 +3949,7 @@ func rewriteValueARM_OpARMCMP(v *Value, config *Config) bool {
                z := v_0.Args[1]
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPshiftRLreg, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPshiftRLreg, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v0.AddArg(z)
@@ -3985,7 +3985,7 @@ func rewriteValueARM_OpARMCMP(v *Value, config *Config) bool {
                z := v_0.Args[1]
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPshiftRAreg, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPshiftRAreg, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v0.AddArg(z)
@@ -4198,9 +4198,9 @@ func rewriteValueARM_OpARMCMPshiftLL(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v0.AuxInt = c
-               v1 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v1.AuxInt = d
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -4240,9 +4240,9 @@ func rewriteValueARM_OpARMCMPshiftLLreg(v *Value, config *Config) bool {
                x := v.Args[1]
                y := v.Args[2]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v0.AuxInt = c
-               v1 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v1.AddArg(x)
                v1.AddArg(y)
                v0.AddArg(v1)
@@ -4283,9 +4283,9 @@ func rewriteValueARM_OpARMCMPshiftRA(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v0.AuxInt = c
-               v1 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v1.AuxInt = d
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -4325,9 +4325,9 @@ func rewriteValueARM_OpARMCMPshiftRAreg(v *Value, config *Config) bool {
                x := v.Args[1]
                y := v.Args[2]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v0.AuxInt = c
-               v1 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v1.AddArg(x)
                v1.AddArg(y)
                v0.AddArg(v1)
@@ -4368,9 +4368,9 @@ func rewriteValueARM_OpARMCMPshiftRL(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v0.AuxInt = c
-               v1 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v1.AuxInt = d
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -4410,9 +4410,9 @@ func rewriteValueARM_OpARMCMPshiftRLreg(v *Value, config *Config) bool {
                x := v.Args[1]
                y := v.Args[2]
                v.reset(OpARMInvertFlags)
-               v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v0.AuxInt = c
-               v1 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v1.AddArg(x)
                v1.AddArg(y)
                v0.AddArg(v1)
@@ -7271,7 +7271,7 @@ func rewriteValueARM_OpARMMUL(v *Value, config *Config) bool {
                }
                v.reset(OpARMSLLconst)
                v.AuxInt = log2(c / 3)
-               v0 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v0.AuxInt = 1
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7293,7 +7293,7 @@ func rewriteValueARM_OpARMMUL(v *Value, config *Config) bool {
                }
                v.reset(OpARMSLLconst)
                v.AuxInt = log2(c / 5)
-               v0 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v0.AuxInt = 2
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7315,7 +7315,7 @@ func rewriteValueARM_OpARMMUL(v *Value, config *Config) bool {
                }
                v.reset(OpARMSLLconst)
                v.AuxInt = log2(c / 7)
-               v0 := b.NewValue0(v.Line, OpARMRSBshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
                v0.AuxInt = 3
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7337,7 +7337,7 @@ func rewriteValueARM_OpARMMUL(v *Value, config *Config) bool {
                }
                v.reset(OpARMSLLconst)
                v.AuxInt = log2(c / 9)
-               v0 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v0.AuxInt = 3
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7465,7 +7465,7 @@ func rewriteValueARM_OpARMMUL(v *Value, config *Config) bool {
                }
                v.reset(OpARMSLLconst)
                v.AuxInt = log2(c / 3)
-               v0 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v0.AuxInt = 1
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7487,7 +7487,7 @@ func rewriteValueARM_OpARMMUL(v *Value, config *Config) bool {
                }
                v.reset(OpARMSLLconst)
                v.AuxInt = log2(c / 5)
-               v0 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v0.AuxInt = 2
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7509,7 +7509,7 @@ func rewriteValueARM_OpARMMUL(v *Value, config *Config) bool {
                }
                v.reset(OpARMSLLconst)
                v.AuxInt = log2(c / 7)
-               v0 := b.NewValue0(v.Line, OpARMRSBshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
                v0.AuxInt = 3
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7531,7 +7531,7 @@ func rewriteValueARM_OpARMMUL(v *Value, config *Config) bool {
                }
                v.reset(OpARMSLLconst)
                v.AuxInt = log2(c / 9)
-               v0 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v0.AuxInt = 3
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7630,7 +7630,7 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7652,7 +7652,7 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v0.AuxInt = log2(c - 1)
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7675,7 +7675,7 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMRSBshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
                v0.AuxInt = log2(c + 1)
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7698,9 +7698,9 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c / 3)
-               v1 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v1.AuxInt = 1
                v1.AddArg(x)
                v1.AddArg(x)
@@ -7724,9 +7724,9 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c / 5)
-               v1 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v1.AuxInt = 2
                v1.AddArg(x)
                v1.AddArg(x)
@@ -7750,9 +7750,9 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c / 7)
-               v1 := b.NewValue0(v.Line, OpARMRSBshiftLL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
                v1.AuxInt = 3
                v1.AddArg(x)
                v1.AddArg(x)
@@ -7776,9 +7776,9 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c / 9)
-               v1 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v1.AuxInt = 3
                v1.AddArg(x)
                v1.AddArg(x)
@@ -7856,7 +7856,7 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7878,7 +7878,7 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v0.AuxInt = log2(c - 1)
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7901,7 +7901,7 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMRSBshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
                v0.AuxInt = log2(c + 1)
                v0.AddArg(x)
                v0.AddArg(x)
@@ -7924,9 +7924,9 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c / 3)
-               v1 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v1.AuxInt = 1
                v1.AddArg(x)
                v1.AddArg(x)
@@ -7950,9 +7950,9 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c / 5)
-               v1 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v1.AuxInt = 2
                v1.AddArg(x)
                v1.AddArg(x)
@@ -7976,9 +7976,9 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c / 7)
-               v1 := b.NewValue0(v.Line, OpARMRSBshiftLL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMRSBshiftLL, x.Type)
                v1.AuxInt = 3
                v1.AddArg(x)
                v1.AddArg(x)
@@ -8002,9 +8002,9 @@ func rewriteValueARM_OpARMMULA(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpARMADD)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = log2(c / 9)
-               v1 := b.NewValue0(v.Line, OpARMADDshiftLL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARMADDshiftLL, x.Type)
                v1.AuxInt = 3
                v1.AddArg(x)
                v1.AddArg(x)
@@ -8666,7 +8666,7 @@ func rewriteValueARM_OpARMORshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -8728,7 +8728,7 @@ func rewriteValueARM_OpARMORshiftLLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -8769,7 +8769,7 @@ func rewriteValueARM_OpARMORshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -8831,7 +8831,7 @@ func rewriteValueARM_OpARMORshiftRAreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -8872,7 +8872,7 @@ func rewriteValueARM_OpARMORshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -8934,7 +8934,7 @@ func rewriteValueARM_OpARMORshiftRLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9226,7 +9226,7 @@ func rewriteValueARM_OpARMRSBSshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -9266,7 +9266,7 @@ func rewriteValueARM_OpARMRSBSshiftLLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9307,7 +9307,7 @@ func rewriteValueARM_OpARMRSBSshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -9347,7 +9347,7 @@ func rewriteValueARM_OpARMRSBSshiftRAreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9388,7 +9388,7 @@ func rewriteValueARM_OpARMRSBSshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -9428,7 +9428,7 @@ func rewriteValueARM_OpARMRSBSshiftRLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMSUBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9536,7 +9536,7 @@ func rewriteValueARM_OpARMRSBshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -9597,7 +9597,7 @@ func rewriteValueARM_OpARMRSBshiftLLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9638,7 +9638,7 @@ func rewriteValueARM_OpARMRSBshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -9699,7 +9699,7 @@ func rewriteValueARM_OpARMRSBshiftRAreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9740,7 +9740,7 @@ func rewriteValueARM_OpARMRSBshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -9801,7 +9801,7 @@ func rewriteValueARM_OpARMRSBshiftRLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMSUBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9884,7 +9884,7 @@ func rewriteValueARM_OpARMRSCshiftLL(v *Value, config *Config) bool {
                flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -9928,7 +9928,7 @@ func rewriteValueARM_OpARMRSCshiftLLreg(v *Value, config *Config) bool {
                flags := v.Args[3]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -9973,7 +9973,7 @@ func rewriteValueARM_OpARMRSCshiftRA(v *Value, config *Config) bool {
                flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10017,7 +10017,7 @@ func rewriteValueARM_OpARMRSCshiftRAreg(v *Value, config *Config) bool {
                flags := v.Args[3]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10062,7 +10062,7 @@ func rewriteValueARM_OpARMRSCshiftRL(v *Value, config *Config) bool {
                flags := v.Args[2]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10106,7 +10106,7 @@ func rewriteValueARM_OpARMRSCshiftRLreg(v *Value, config *Config) bool {
                flags := v.Args[3]
                v.reset(OpARMSBCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10459,7 +10459,7 @@ func rewriteValueARM_OpARMSBCshiftLL(v *Value, config *Config) bool {
                flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10503,7 +10503,7 @@ func rewriteValueARM_OpARMSBCshiftLLreg(v *Value, config *Config) bool {
                flags := v.Args[3]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10548,7 +10548,7 @@ func rewriteValueARM_OpARMSBCshiftRA(v *Value, config *Config) bool {
                flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10592,7 +10592,7 @@ func rewriteValueARM_OpARMSBCshiftRAreg(v *Value, config *Config) bool {
                flags := v.Args[3]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10637,7 +10637,7 @@ func rewriteValueARM_OpARMSBCshiftRL(v *Value, config *Config) bool {
                flags := v.Args[2]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10681,7 +10681,7 @@ func rewriteValueARM_OpARMSBCshiftRLreg(v *Value, config *Config) bool {
                flags := v.Args[3]
                v.reset(OpARMRSCconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11409,7 +11409,7 @@ func rewriteValueARM_OpARMSUBSshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -11449,7 +11449,7 @@ func rewriteValueARM_OpARMSUBSshiftLLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11490,7 +11490,7 @@ func rewriteValueARM_OpARMSUBSshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -11530,7 +11530,7 @@ func rewriteValueARM_OpARMSUBSshiftRAreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11571,7 +11571,7 @@ func rewriteValueARM_OpARMSUBSshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -11611,7 +11611,7 @@ func rewriteValueARM_OpARMSUBSshiftRLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMRSBSconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11732,7 +11732,7 @@ func rewriteValueARM_OpARMSUBshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -11793,7 +11793,7 @@ func rewriteValueARM_OpARMSUBshiftLLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11834,7 +11834,7 @@ func rewriteValueARM_OpARMSUBshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -11895,7 +11895,7 @@ func rewriteValueARM_OpARMSUBshiftRAreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11936,7 +11936,7 @@ func rewriteValueARM_OpARMSUBshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -11997,7 +11997,7 @@ func rewriteValueARM_OpARMSUBshiftRLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMRSBconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -12371,7 +12371,7 @@ func rewriteValueARM_OpARMXORshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -12432,7 +12432,7 @@ func rewriteValueARM_OpARMXORshiftLLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMXORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -12473,7 +12473,7 @@ func rewriteValueARM_OpARMXORshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -12534,7 +12534,7 @@ func rewriteValueARM_OpARMXORshiftRAreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMXORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRA, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRA, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -12575,7 +12575,7 @@ func rewriteValueARM_OpARMXORshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -12636,7 +12636,7 @@ func rewriteValueARM_OpARMXORshiftRLreg(v *Value, config *Config) bool {
                y := v.Args[2]
                v.reset(OpARMXORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -12677,7 +12677,7 @@ func rewriteValueARM_OpARMXORshiftRR(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARMSRRconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRRconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -12909,20 +12909,20 @@ func rewriteValueARM_OpBswap32(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpARMXOR)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpARMSRLconst, t)
+               v0 := b.NewValue0(v.Pos, OpARMSRLconst, t)
                v0.AuxInt = 8
-               v1 := b.NewValue0(v.Line, OpARMBICconst, t)
+               v1 := b.NewValue0(v.Pos, OpARMBICconst, t)
                v1.AuxInt = 0xff0000
-               v2 := b.NewValue0(v.Line, OpARMXOR, t)
+               v2 := b.NewValue0(v.Pos, OpARMXOR, t)
                v2.AddArg(x)
-               v3 := b.NewValue0(v.Line, OpARMSRRconst, t)
+               v3 := b.NewValue0(v.Pos, OpARMSRRconst, t)
                v3.AuxInt = 16
                v3.AddArg(x)
                v2.AddArg(v3)
                v1.AddArg(v2)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpARMSRRconst, t)
+               v4 := b.NewValue0(v.Pos, OpARMSRRconst, t)
                v4.AuxInt = 8
                v4.AddArg(x)
                v.AddArg(v4)
@@ -13103,12 +13103,12 @@ func rewriteValueARM_OpCtz32(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpARMRSBconst)
                v.AuxInt = 32
-               v0 := b.NewValue0(v.Line, OpARMCLZ, t)
-               v1 := b.NewValue0(v.Line, OpARMSUBconst, t)
+               v0 := b.NewValue0(v.Pos, OpARMCLZ, t)
+               v1 := b.NewValue0(v.Pos, OpARMSUBconst, t)
                v1.AuxInt = 1
-               v2 := b.NewValue0(v.Line, OpARMAND, t)
+               v2 := b.NewValue0(v.Pos, OpARMAND, t)
                v2.AddArg(x)
-               v3 := b.NewValue0(v.Line, OpARMRSBconst, t)
+               v3 := b.NewValue0(v.Pos, OpARMRSBconst, t)
                v3.AuxInt = 0
                v3.AddArg(x)
                v2.AddArg(v3)
@@ -13273,10 +13273,10 @@ func rewriteValueARM_OpDiv16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpDiv32)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -13292,10 +13292,10 @@ func rewriteValueARM_OpDiv16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpDiv32u)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -13311,42 +13311,42 @@ func rewriteValueARM_OpDiv32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSUB)
-               v0 := b.NewValue0(v.Line, OpARMXOR, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpSelect0, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpARMUDIVrtcall, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v3 := b.NewValue0(v.Line, OpARMSUB, config.fe.TypeUInt32())
-               v4 := b.NewValue0(v.Line, OpARMXOR, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMXOR, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpSelect0, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpARMUDIVrtcall, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v3 := b.NewValue0(v.Pos, OpARMSUB, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpARMXOR, config.fe.TypeUInt32())
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v5 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
                v3.AddArg(v4)
-               v6 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v6 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v6.AddArg(x)
                v3.AddArg(v6)
                v2.AddArg(v3)
-               v7 := b.NewValue0(v.Line, OpARMSUB, config.fe.TypeUInt32())
-               v8 := b.NewValue0(v.Line, OpARMXOR, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpARMSUB, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpARMXOR, config.fe.TypeUInt32())
                v8.AddArg(y)
-               v9 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v9 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v9.AddArg(y)
                v8.AddArg(v9)
                v7.AddArg(v8)
-               v10 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v10 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v10.AddArg(y)
                v7.AddArg(v10)
                v2.AddArg(v7)
                v1.AddArg(v2)
                v0.AddArg(v1)
-               v11 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
-               v12 := b.NewValue0(v.Line, OpARMXOR, config.fe.TypeUInt32())
+               v11 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
+               v12 := b.NewValue0(v.Pos, OpARMXOR, config.fe.TypeUInt32())
                v12.AddArg(x)
                v12.AddArg(y)
                v11.AddArg(v12)
                v0.AddArg(v11)
                v.AddArg(v0)
-               v13 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
-               v14 := b.NewValue0(v.Line, OpARMXOR, config.fe.TypeUInt32())
+               v13 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
+               v14 := b.NewValue0(v.Pos, OpARMXOR, config.fe.TypeUInt32())
                v14.AddArg(x)
                v14.AddArg(y)
                v13.AddArg(v14)
@@ -13380,7 +13380,7 @@ func rewriteValueARM_OpDiv32u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpSelect0)
                v.Type = config.fe.TypeUInt32()
-               v0 := b.NewValue0(v.Line, OpARMUDIVrtcall, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v0 := b.NewValue0(v.Pos, OpARMUDIVrtcall, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13412,10 +13412,10 @@ func rewriteValueARM_OpDiv8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpDiv32)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -13431,10 +13431,10 @@ func rewriteValueARM_OpDiv8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpDiv32u)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -13450,11 +13450,11 @@ func rewriteValueARM_OpEq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13471,7 +13471,7 @@ func rewriteValueARM_OpEq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13488,7 +13488,7 @@ func rewriteValueARM_OpEq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMPF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13505,7 +13505,7 @@ func rewriteValueARM_OpEq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13522,11 +13522,11 @@ func rewriteValueARM_OpEq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13544,7 +13544,7 @@ func rewriteValueARM_OpEqB(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpARMXOR, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpARMXOR, config.fe.TypeBool())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13561,7 +13561,7 @@ func rewriteValueARM_OpEqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13578,11 +13578,11 @@ func rewriteValueARM_OpGeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13599,11 +13599,11 @@ func rewriteValueARM_OpGeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqualU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13620,7 +13620,7 @@ func rewriteValueARM_OpGeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13637,7 +13637,7 @@ func rewriteValueARM_OpGeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMPF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13654,7 +13654,7 @@ func rewriteValueARM_OpGeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqualU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13671,7 +13671,7 @@ func rewriteValueARM_OpGeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13688,11 +13688,11 @@ func rewriteValueARM_OpGeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13709,11 +13709,11 @@ func rewriteValueARM_OpGeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqualU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13756,11 +13756,11 @@ func rewriteValueARM_OpGreater16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThan)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13777,11 +13777,11 @@ func rewriteValueARM_OpGreater16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThanU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13798,7 +13798,7 @@ func rewriteValueARM_OpGreater32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThan)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13815,7 +13815,7 @@ func rewriteValueARM_OpGreater32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThan)
-               v0 := b.NewValue0(v.Line, OpARMCMPF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13832,7 +13832,7 @@ func rewriteValueARM_OpGreater32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThanU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13849,7 +13849,7 @@ func rewriteValueARM_OpGreater64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThan)
-               v0 := b.NewValue0(v.Line, OpARMCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -13866,11 +13866,11 @@ func rewriteValueARM_OpGreater8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThan)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13887,11 +13887,11 @@ func rewriteValueARM_OpGreater8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThanU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13909,11 +13909,11 @@ func rewriteValueARM_OpHmul16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSRAconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpARMMUL, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMUL, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13931,11 +13931,11 @@ func rewriteValueARM_OpHmul16u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSRLconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpARMMUL, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMUL, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -13983,11 +13983,11 @@ func rewriteValueARM_OpHmul8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSRAconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpARMMUL, config.fe.TypeInt16())
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMUL, config.fe.TypeInt16())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14005,11 +14005,11 @@ func rewriteValueARM_OpHmul8u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSRLconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpARMMUL, config.fe.TypeUInt16())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMUL, config.fe.TypeUInt16())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14043,7 +14043,7 @@ func rewriteValueARM_OpIsInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpARMLessThanU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -14059,7 +14059,7 @@ func rewriteValueARM_OpIsNonNil(v *Value, config *Config) bool {
        for {
                ptr := v.Args[0]
                v.reset(OpARMNotEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v0.AuxInt = 0
                v0.AddArg(ptr)
                v.AddArg(v0)
@@ -14076,7 +14076,7 @@ func rewriteValueARM_OpIsSliceInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpARMLessEqualU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -14093,11 +14093,11 @@ func rewriteValueARM_OpLeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14114,11 +14114,11 @@ func rewriteValueARM_OpLeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessEqualU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14135,7 +14135,7 @@ func rewriteValueARM_OpLeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -14152,7 +14152,7 @@ func rewriteValueARM_OpLeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMPF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPF, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -14169,7 +14169,7 @@ func rewriteValueARM_OpLeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessEqualU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -14186,7 +14186,7 @@ func rewriteValueARM_OpLeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -14203,11 +14203,11 @@ func rewriteValueARM_OpLeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14224,11 +14224,11 @@ func rewriteValueARM_OpLeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessEqualU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14245,11 +14245,11 @@ func rewriteValueARM_OpLess16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessThan)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14266,11 +14266,11 @@ func rewriteValueARM_OpLess16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessThanU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14287,7 +14287,7 @@ func rewriteValueARM_OpLess32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessThan)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -14304,7 +14304,7 @@ func rewriteValueARM_OpLess32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThan)
-               v0 := b.NewValue0(v.Line, OpARMCMPF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPF, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -14321,7 +14321,7 @@ func rewriteValueARM_OpLess32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessThanU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -14338,7 +14338,7 @@ func rewriteValueARM_OpLess64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMGreaterThan)
-               v0 := b.NewValue0(v.Line, OpARMCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -14355,11 +14355,11 @@ func rewriteValueARM_OpLess8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessThan)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14376,11 +14376,11 @@ func rewriteValueARM_OpLess8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMLessThanU)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -14523,11 +14523,11 @@ func rewriteValueARM_OpLrot16(v *Value, config *Config) bool {
                c := v.AuxInt
                x := v.Args[0]
                v.reset(OpARMOR)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, t)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, t)
                v0.AuxInt = c & 15
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMSRLconst, t)
+               v1 := b.NewValue0(v.Pos, OpARMSRLconst, t)
                v1.AuxInt = 16 - c&15
                v1.AddArg(x)
                v.AddArg(v1)
@@ -14560,11 +14560,11 @@ func rewriteValueARM_OpLrot8(v *Value, config *Config) bool {
                c := v.AuxInt
                x := v.Args[0]
                v.reset(OpARMOR)
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, t)
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, t)
                v0.AuxInt = c & 7
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMSRLconst, t)
+               v1 := b.NewValue0(v.Pos, OpARMSRLconst, t)
                v1.AuxInt = 8 - c&7
                v1.AddArg(x)
                v.AddArg(v1)
@@ -14582,15 +14582,15 @@ func rewriteValueARM_OpLsh16x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v2.AuxInt = 256
-               v3 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v3.AddArg(y)
                v2.AddArg(v3)
                v.AddArg(v2)
@@ -14608,11 +14608,11 @@ func rewriteValueARM_OpLsh16x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v1.AuxInt = 256
                v1.AddArg(y)
                v.AddArg(v1)
@@ -14669,7 +14669,7 @@ func rewriteValueARM_OpLsh16x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSLL)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(y)
                v.AddArg(v0)
                return true
@@ -14686,15 +14686,15 @@ func rewriteValueARM_OpLsh32x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v2.AuxInt = 256
-               v3 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v3.AddArg(y)
                v2.AddArg(v3)
                v.AddArg(v2)
@@ -14712,11 +14712,11 @@ func rewriteValueARM_OpLsh32x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v1.AuxInt = 256
                v1.AddArg(y)
                v.AddArg(v1)
@@ -14773,7 +14773,7 @@ func rewriteValueARM_OpLsh32x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSLL)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(y)
                v.AddArg(v0)
                return true
@@ -14790,15 +14790,15 @@ func rewriteValueARM_OpLsh8x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v2.AuxInt = 256
-               v3 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v3.AddArg(y)
                v2.AddArg(v3)
                v.AddArg(v2)
@@ -14816,11 +14816,11 @@ func rewriteValueARM_OpLsh8x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSLL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v1.AuxInt = 256
                v1.AddArg(y)
                v.AddArg(v1)
@@ -14877,7 +14877,7 @@ func rewriteValueARM_OpLsh8x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSLL)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(y)
                v.AddArg(v0)
                return true
@@ -14893,10 +14893,10 @@ func rewriteValueARM_OpMod16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMod32)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -14912,10 +14912,10 @@ func rewriteValueARM_OpMod16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMod32u)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -14931,38 +14931,38 @@ func rewriteValueARM_OpMod32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSUB)
-               v0 := b.NewValue0(v.Line, OpARMXOR, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpSelect1, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpARMUDIVrtcall, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v3 := b.NewValue0(v.Line, OpARMSUB, config.fe.TypeUInt32())
-               v4 := b.NewValue0(v.Line, OpARMXOR, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMXOR, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpSelect1, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpARMUDIVrtcall, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v3 := b.NewValue0(v.Pos, OpARMSUB, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpARMXOR, config.fe.TypeUInt32())
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v5 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
                v3.AddArg(v4)
-               v6 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v6 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v6.AddArg(x)
                v3.AddArg(v6)
                v2.AddArg(v3)
-               v7 := b.NewValue0(v.Line, OpARMSUB, config.fe.TypeUInt32())
-               v8 := b.NewValue0(v.Line, OpARMXOR, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpARMSUB, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpARMXOR, config.fe.TypeUInt32())
                v8.AddArg(y)
-               v9 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v9 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v9.AddArg(y)
                v8.AddArg(v9)
                v7.AddArg(v8)
-               v10 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v10 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v10.AddArg(y)
                v7.AddArg(v10)
                v2.AddArg(v7)
                v1.AddArg(v2)
                v0.AddArg(v1)
-               v11 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v11 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v11.AddArg(x)
                v0.AddArg(v11)
                v.AddArg(v0)
-               v12 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v12 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v12.AddArg(x)
                v.AddArg(v12)
                return true
@@ -14979,7 +14979,7 @@ func rewriteValueARM_OpMod32u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpSelect1)
                v.Type = config.fe.TypeUInt32()
-               v0 := b.NewValue0(v.Line, OpARMUDIVrtcall, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v0 := b.NewValue0(v.Pos, OpARMUDIVrtcall, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -14996,10 +14996,10 @@ func rewriteValueARM_OpMod8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMod32)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -15015,10 +15015,10 @@ func rewriteValueARM_OpMod8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMod32u)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -15054,7 +15054,7 @@ func rewriteValueARM_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpARMMOVBstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -15074,7 +15074,7 @@ func rewriteValueARM_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpARMMOVHstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARMMOVHUload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpARMMOVHUload, config.fe.TypeUInt16())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -15095,14 +15095,14 @@ func rewriteValueARM_OpMove(v *Value, config *Config) bool {
                v.reset(OpARMMOVBstore)
                v.AuxInt = 1
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v0.AuxInt = 1
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v2 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -15123,7 +15123,7 @@ func rewriteValueARM_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpARMMOVWstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARMMOVWload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMOVWload, config.fe.TypeUInt32())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -15144,14 +15144,14 @@ func rewriteValueARM_OpMove(v *Value, config *Config) bool {
                v.reset(OpARMMOVHstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARMMOVHUload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpARMMOVHUload, config.fe.TypeUInt16())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMMOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARMMOVHstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARMMOVHUload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpARMMOVHUload, config.fe.TypeUInt16())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -15173,30 +15173,30 @@ func rewriteValueARM_OpMove(v *Value, config *Config) bool {
                v.reset(OpARMMOVBstore)
                v.AuxInt = 3
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v0.AuxInt = 3
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v2 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v2.AuxInt = 2
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v3.AuxInt = 1
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v4 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v4.AuxInt = 1
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v5.AddArg(dst)
-               v6 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v6 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v6.AddArg(src)
                v6.AddArg(mem)
                v5.AddArg(v6)
@@ -15220,22 +15220,22 @@ func rewriteValueARM_OpMove(v *Value, config *Config) bool {
                v.reset(OpARMMOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v1.AuxInt = 1
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v2 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v2.AuxInt = 1
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpARMMOVBUload, config.fe.TypeUInt8())
+               v4 := b.NewValue0(v.Pos, OpARMMOVBUload, config.fe.TypeUInt8())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -15277,7 +15277,7 @@ func rewriteValueARM_OpMove(v *Value, config *Config) bool {
                v.AuxInt = SizeAndAlign(s).Align()
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpARMADDconst, src.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDconst, src.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(src)
                v.AddArg(v0)
@@ -15454,11 +15454,11 @@ func rewriteValueARM_OpNeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMNotEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -15475,7 +15475,7 @@ func rewriteValueARM_OpNeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMNotEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15492,7 +15492,7 @@ func rewriteValueARM_OpNeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMNotEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMPF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15509,7 +15509,7 @@ func rewriteValueARM_OpNeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMNotEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15526,11 +15526,11 @@ func rewriteValueARM_OpNeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMNotEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -15562,7 +15562,7 @@ func rewriteValueARM_OpNeqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMNotEqual)
-               v0 := b.NewValue0(v.Line, OpARMCMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -15698,17 +15698,17 @@ func rewriteValueARM_OpRsh16Ux16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v3.AuxInt = 256
-               v4 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -15726,13 +15726,13 @@ func rewriteValueARM_OpRsh16Ux32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v2.AuxInt = 256
                v2.AddArg(y)
                v.AddArg(v2)
@@ -15757,7 +15757,7 @@ func rewriteValueARM_OpRsh16Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpARMSRLconst)
                v.AuxInt = c + 16
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 16
                v0.AddArg(x)
                v.AddArg(v0)
@@ -15791,10 +15791,10 @@ func rewriteValueARM_OpRsh16Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSRL)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -15810,15 +15810,15 @@ func rewriteValueARM_OpRsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSRAcond)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v2.AuxInt = 256
-               v3 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v3.AddArg(y)
                v2.AddArg(v3)
                v.AddArg(v2)
@@ -15835,11 +15835,11 @@ func rewriteValueARM_OpRsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSRAcond)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v1.AuxInt = 256
                v1.AddArg(y)
                v.AddArg(v1)
@@ -15864,7 +15864,7 @@ func rewriteValueARM_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpARMSRAconst)
                v.AuxInt = c + 16
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 16
                v0.AddArg(x)
                v.AddArg(v0)
@@ -15885,7 +15885,7 @@ func rewriteValueARM_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpARMSRAconst)
                v.AuxInt = 31
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 16
                v0.AddArg(x)
                v.AddArg(v0)
@@ -15903,10 +15903,10 @@ func rewriteValueARM_OpRsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -15923,15 +15923,15 @@ func rewriteValueARM_OpRsh32Ux16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v2.AuxInt = 256
-               v3 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v3.AddArg(y)
                v2.AddArg(v3)
                v.AddArg(v2)
@@ -15949,11 +15949,11 @@ func rewriteValueARM_OpRsh32Ux32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v1.AuxInt = 256
                v1.AddArg(y)
                v.AddArg(v1)
@@ -16010,7 +16010,7 @@ func rewriteValueARM_OpRsh32Ux8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSRL)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(y)
                v.AddArg(v0)
                return true
@@ -16027,12 +16027,12 @@ func rewriteValueARM_OpRsh32x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSRAcond)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v1.AuxInt = 256
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v1.AddArg(v2)
                v.AddArg(v1)
@@ -16051,7 +16051,7 @@ func rewriteValueARM_OpRsh32x32(v *Value, config *Config) bool {
                v.reset(OpARMSRAcond)
                v.AddArg(x)
                v.AddArg(y)
-               v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v0.AuxInt = 256
                v0.AddArg(y)
                v.AddArg(v0)
@@ -16110,7 +16110,7 @@ func rewriteValueARM_OpRsh32x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMSRA)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(y)
                v.AddArg(v0)
                return true
@@ -16127,17 +16127,17 @@ func rewriteValueARM_OpRsh8Ux16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v3.AuxInt = 256
-               v4 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -16155,13 +16155,13 @@ func rewriteValueARM_OpRsh8Ux32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARMCMOVWHSconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpARMSRL, x.Type)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSRL, x.Type)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v2.AuxInt = 256
                v2.AddArg(y)
                v.AddArg(v2)
@@ -16186,7 +16186,7 @@ func rewriteValueARM_OpRsh8Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpARMSRLconst)
                v.AuxInt = c + 24
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 24
                v0.AddArg(x)
                v.AddArg(v0)
@@ -16220,10 +16220,10 @@ func rewriteValueARM_OpRsh8Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSRL)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -16239,15 +16239,15 @@ func rewriteValueARM_OpRsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSRAcond)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v2.AuxInt = 256
-               v3 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v3.AddArg(y)
                v2.AddArg(v3)
                v.AddArg(v2)
@@ -16264,11 +16264,11 @@ func rewriteValueARM_OpRsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSRAcond)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                v1.AuxInt = 256
                v1.AddArg(y)
                v.AddArg(v1)
@@ -16293,7 +16293,7 @@ func rewriteValueARM_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpARMSRAconst)
                v.AuxInt = c + 24
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 24
                v0.AddArg(x)
                v.AddArg(v0)
@@ -16314,7 +16314,7 @@ func rewriteValueARM_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpARMSRAconst)
                v.AuxInt = 31
-               v0 := b.NewValue0(v.Line, OpARMSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 24
                v0.AddArg(x)
                v.AddArg(v0)
@@ -16332,10 +16332,10 @@ func rewriteValueARM_OpRsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARMSRA)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -16542,9 +16542,9 @@ func rewriteValueARM_OpSlicemask(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpARMMVN)
-               v0 := b.NewValue0(v.Line, OpARMSRAconst, t)
+               v0 := b.NewValue0(v.Pos, OpARMSRAconst, t)
                v0.AuxInt = 31
-               v1 := b.NewValue0(v.Line, OpARMSUBconst, t)
+               v1 := b.NewValue0(v.Pos, OpARMSUBconst, t)
                v1.AuxInt = 1
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -16914,7 +16914,7 @@ func rewriteValueARM_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpARMMOVBstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -16932,7 +16932,7 @@ func rewriteValueARM_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpARMMOVHstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -16951,13 +16951,13 @@ func rewriteValueARM_OpZero(v *Value, config *Config) bool {
                v.reset(OpARMMOVBstore)
                v.AuxInt = 1
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -16976,7 +16976,7 @@ func rewriteValueARM_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpARMMOVWstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -16995,13 +16995,13 @@ func rewriteValueARM_OpZero(v *Value, config *Config) bool {
                v.reset(OpARMMOVHstore)
                v.AuxInt = 2
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMMOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARMMOVHstore, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -17021,25 +17021,25 @@ func rewriteValueARM_OpZero(v *Value, config *Config) bool {
                v.reset(OpARMMOVBstore)
                v.AuxInt = 3
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v3.AuxInt = 1
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v4.AuxInt = 0
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v5.AuxInt = 0
                v5.AddArg(ptr)
-               v6 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v6.AuxInt = 0
                v5.AddArg(v6)
                v5.AddArg(mem)
@@ -17061,19 +17061,19 @@ func rewriteValueARM_OpZero(v *Value, config *Config) bool {
                v.reset(OpARMMOVBstore)
                v.AuxInt = 2
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v1.AuxInt = 1
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARMMOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpARMMOVBstore, TypeMem)
                v3.AuxInt = 0
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -17094,7 +17094,7 @@ func rewriteValueARM_OpZero(v *Value, config *Config) bool {
                v.reset(OpARMDUFFZERO)
                v.AuxInt = 4 * (128 - int64(SizeAndAlign(s).Size()/4))
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -17113,11 +17113,11 @@ func rewriteValueARM_OpZero(v *Value, config *Config) bool {
                v.reset(OpARMLoweredZero)
                v.AuxInt = SizeAndAlign(s).Align()
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARMADDconst, ptr.Type)
+               v0 := b.NewValue0(v.Pos, OpARMADDconst, ptr.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(ptr)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARMMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpARMMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v.AddArg(v1)
                v.AddArg(mem)
@@ -17174,7 +17174,7 @@ func rewriteValueARM_OpZeromask(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpARMSRAconst)
                v.AuxInt = 31
-               v0 := b.NewValue0(v.Line, OpARMRSBshiftRL, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARMRSBshiftRL, config.fe.TypeInt32())
                v0.AuxInt = 1
                v0.AddArg(x)
                v0.AddArg(x)
@@ -17668,7 +17668,7 @@ func rewriteBlockARM(b *Block, config *Config) bool {
                        yes := b.Succs[0]
                        no := b.Succs[1]
                        b.Kind = BlockARMNE
-                       v0 := b.NewValue0(v.Line, OpARMCMPconst, TypeFlags)
+                       v0 := b.NewValue0(v.Pos, OpARMCMPconst, TypeFlags)
                        v0.AuxInt = 0
                        v0.AddArg(cond)
                        b.SetControl(v0)
index dd5aa28d3c8dd50c2d4266d93112aef7ccb0c7d2..76f9a105d00d15bd918c968eaeac74d1898b63ec 100644 (file)
@@ -984,7 +984,7 @@ func rewriteValueARM64_OpARM64ADDshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1024,7 +1024,7 @@ func rewriteValueARM64_OpARM64ADDshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1064,7 +1064,7 @@ func rewriteValueARM64_OpARM64ADDshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64ADDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1328,7 +1328,7 @@ func rewriteValueARM64_OpARM64ANDshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64ANDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1390,7 +1390,7 @@ func rewriteValueARM64_OpARM64ANDshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64ANDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1452,7 +1452,7 @@ func rewriteValueARM64_OpARM64ANDshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64ANDconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1779,7 +1779,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpARM64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1814,7 +1814,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value, config *Config) bool {
                y := v_0.Args[0]
                x := v.Args[1]
                v.reset(OpARM64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpARM64CMPshiftLL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPshiftLL, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v0.AddArg(y)
@@ -1850,7 +1850,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value, config *Config) bool {
                y := v_0.Args[0]
                x := v.Args[1]
                v.reset(OpARM64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpARM64CMPshiftRL, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPshiftRL, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v0.AddArg(y)
@@ -1886,7 +1886,7 @@ func rewriteValueARM64_OpARM64CMP(v *Value, config *Config) bool {
                y := v_0.Args[0]
                x := v.Args[1]
                v.reset(OpARM64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpARM64CMPshiftRA, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPshiftRA, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v0.AddArg(y)
@@ -1924,7 +1924,7 @@ func rewriteValueARM64_OpARM64CMPW(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpARM64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpARM64CMPWconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPWconst, TypeFlags)
                v0.AuxInt = int64(int32(c))
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2224,9 +2224,9 @@ func rewriteValueARM64_OpARM64CMPshiftLL(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpARM64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v0.AuxInt = c
-               v1 := b.NewValue0(v.Line, OpARM64SLLconst, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
                v1.AuxInt = d
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -2266,9 +2266,9 @@ func rewriteValueARM64_OpARM64CMPshiftRA(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpARM64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v0.AuxInt = c
-               v1 := b.NewValue0(v.Line, OpARM64SRAconst, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
                v1.AuxInt = d
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -2308,9 +2308,9 @@ func rewriteValueARM64_OpARM64CMPshiftRL(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpARM64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v0.AuxInt = c
-               v1 := b.NewValue0(v.Line, OpARM64SRLconst, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
                v1.AuxInt = d
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -5379,7 +5379,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64ADDshiftLL)
                v.AuxInt = log2(c + 1)
-               v0 := b.NewValue0(v.Line, OpARM64NEG, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(x)
@@ -5400,7 +5400,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 3)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 1
                v0.AddArg(x)
                v0.AddArg(x)
@@ -5422,7 +5422,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 5)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 2
                v0.AddArg(x)
                v0.AddArg(x)
@@ -5444,9 +5444,9 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 7)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 3
-               v1 := b.NewValue0(v.Line, OpARM64NEG, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(x)
@@ -5468,7 +5468,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 9)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 3
                v0.AddArg(x)
                v0.AddArg(x)
@@ -5593,7 +5593,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64ADDshiftLL)
                v.AuxInt = log2(c + 1)
-               v0 := b.NewValue0(v.Line, OpARM64NEG, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(x)
@@ -5614,7 +5614,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 3)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 1
                v0.AddArg(x)
                v0.AddArg(x)
@@ -5636,7 +5636,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 5)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 2
                v0.AddArg(x)
                v0.AddArg(x)
@@ -5658,9 +5658,9 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 7)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 3
-               v1 := b.NewValue0(v.Line, OpARM64NEG, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(x)
@@ -5682,7 +5682,7 @@ func rewriteValueARM64_OpARM64MUL(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 9)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 3
                v0.AddArg(x)
                v0.AddArg(x)
@@ -5815,7 +5815,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64ADDshiftLL)
                v.AuxInt = log2(c + 1)
-               v0 := b.NewValue0(v.Line, OpARM64NEG, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(x)
@@ -5836,7 +5836,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 3)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 1
                v0.AddArg(x)
                v0.AddArg(x)
@@ -5858,7 +5858,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 5)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 2
                v0.AddArg(x)
                v0.AddArg(x)
@@ -5880,9 +5880,9 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 7)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 3
-               v1 := b.NewValue0(v.Line, OpARM64NEG, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(x)
@@ -5904,7 +5904,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 9)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 3
                v0.AddArg(x)
                v0.AddArg(x)
@@ -6014,7 +6014,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64ADDshiftLL)
                v.AuxInt = log2(c + 1)
-               v0 := b.NewValue0(v.Line, OpARM64NEG, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(x)
@@ -6035,7 +6035,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 3)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 1
                v0.AddArg(x)
                v0.AddArg(x)
@@ -6057,7 +6057,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 5)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 2
                v0.AddArg(x)
                v0.AddArg(x)
@@ -6079,9 +6079,9 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 7)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 3
-               v1 := b.NewValue0(v.Line, OpARM64NEG, x.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64NEG, x.Type)
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(x)
@@ -6103,7 +6103,7 @@ func rewriteValueARM64_OpARM64MULW(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SLLconst)
                v.AuxInt = log2(c / 9)
-               v0 := b.NewValue0(v.Line, OpARM64ADDshiftLL, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDshiftLL, x.Type)
                v0.AuxInt = 3
                v0.AddArg(x)
                v0.AddArg(x)
@@ -6534,11 +6534,11 @@ func rewriteValueARM64_OpARM64OR(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3)
-               v0 := b.NewValue0(v.Line, OpARM64MOVWUload, t)
+               v0 := b.NewValue0(v.Pos, OpARM64MOVWUload, t)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.Aux = s
-               v1 := b.NewValue0(v.Line, OpOffPtr, p.Type)
+               v1 := b.NewValue0(v.Pos, OpOffPtr, p.Type)
                v1.AuxInt = i - 3
                v1.AddArg(p)
                v0.AddArg(v1)
@@ -6755,12 +6755,12 @@ func rewriteValueARM64_OpARM64OR(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpARM64REV, t)
+               v0 := b.NewValue0(v.Pos, OpARM64REV, t)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVDload, t)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVDload, t)
                v1.Aux = s
-               v2 := b.NewValue0(v.Line, OpOffPtr, p.Type)
+               v2 := b.NewValue0(v.Pos, OpOffPtr, p.Type)
                v2.AuxInt = i - 7
                v2.AddArg(p)
                v1.AddArg(v2)
@@ -6870,12 +6870,12 @@ func rewriteValueARM64_OpARM64OR(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3)
-               v0 := b.NewValue0(v.Line, OpARM64REVW, t)
+               v0 := b.NewValue0(v.Pos, OpARM64REVW, t)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVWUload, t)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVWUload, t)
                v1.Aux = s
-               v2 := b.NewValue0(v.Line, OpOffPtr, p.Type)
+               v2 := b.NewValue0(v.Pos, OpOffPtr, p.Type)
                v2.AuxInt = i
                v2.AddArg(p)
                v1.AddArg(v2)
@@ -7093,12 +7093,12 @@ func rewriteValueARM64_OpARM64OR(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpARM64REV, t)
+               v0 := b.NewValue0(v.Pos, OpARM64REV, t)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVDload, t)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVDload, t)
                v1.Aux = s
-               v2 := b.NewValue0(v.Line, OpOffPtr, p.Type)
+               v2 := b.NewValue0(v.Pos, OpOffPtr, p.Type)
                v2.AuxInt = i
                v2.AddArg(p)
                v1.AddArg(v2)
@@ -7183,7 +7183,7 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64ORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7271,11 +7271,11 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, OpARM64MOVHUload, t)
+               v0 := b.NewValue0(v.Pos, OpARM64MOVHUload, t)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.Aux = s
-               v1 := b.NewValue0(v.Line, OpOffPtr, p.Type)
+               v1 := b.NewValue0(v.Pos, OpOffPtr, p.Type)
                v1.AuxInt = i
                v1.AddArg(p)
                v0.AddArg(v1)
@@ -7349,11 +7349,11 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, OpARM64MOVWUload, t)
+               v0 := b.NewValue0(v.Pos, OpARM64MOVWUload, t)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.Aux = s
-               v1 := b.NewValue0(v.Line, OpOffPtr, p.Type)
+               v1 := b.NewValue0(v.Pos, OpOffPtr, p.Type)
                v1.AuxInt = i
                v1.AddArg(p)
                v0.AddArg(v1)
@@ -7481,11 +7481,11 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDload, t)
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDload, t)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.Aux = s
-               v1 := b.NewValue0(v.Line, OpOffPtr, p.Type)
+               v1 := b.NewValue0(v.Pos, OpOffPtr, p.Type)
                v1.AuxInt = i
                v1.AddArg(p)
                v0.AddArg(v1)
@@ -7536,10 +7536,10 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, OpARM64REV16W, t)
+               v0 := b.NewValue0(v.Pos, OpARM64REV16W, t)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVHUload, t)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVHUload, t)
                v1.AuxInt = i - 1
                v1.Aux = s
                v1.AddArg(p)
@@ -7618,12 +7618,12 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, OpARM64REVW, t)
+               v0 := b.NewValue0(v.Pos, OpARM64REVW, t)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVWUload, t)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVWUload, t)
                v1.Aux = s
-               v2 := b.NewValue0(v.Line, OpOffPtr, p.Type)
+               v2 := b.NewValue0(v.Pos, OpOffPtr, p.Type)
                v2.AuxInt = i - 2
                v2.AddArg(p)
                v1.AddArg(v2)
@@ -7756,12 +7756,12 @@ func rewriteValueARM64_OpARM64ORshiftLL(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4)
-               v0 := b.NewValue0(v.Line, OpARM64REV, t)
+               v0 := b.NewValue0(v.Pos, OpARM64REV, t)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVDload, t)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVDload, t)
                v1.Aux = s
-               v2 := b.NewValue0(v.Line, OpOffPtr, p.Type)
+               v2 := b.NewValue0(v.Pos, OpOffPtr, p.Type)
                v2.AuxInt = i - 4
                v2.AddArg(p)
                v1.AddArg(v2)
@@ -7787,7 +7787,7 @@ func rewriteValueARM64_OpARM64ORshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64ORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7849,7 +7849,7 @@ func rewriteValueARM64_OpARM64ORshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64ORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -8740,7 +8740,7 @@ func rewriteValueARM64_OpARM64XORshiftLL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64XORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SLLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SLLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -8801,7 +8801,7 @@ func rewriteValueARM64_OpARM64XORshiftRA(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64XORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SRAconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SRAconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -8862,7 +8862,7 @@ func rewriteValueARM64_OpARM64XORshiftRL(v *Value, config *Config) bool {
                x := v.Args[1]
                v.reset(OpARM64XORconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpARM64SRLconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64SRLconst, x.Type)
                v0.AuxInt = d
                v0.AddArg(x)
                v.AddArg(v0)
@@ -9349,22 +9349,22 @@ func rewriteValueARM64_OpAvg64u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64ADD)
-               v0 := b.NewValue0(v.Line, OpARM64ADD, t)
-               v1 := b.NewValue0(v.Line, OpARM64SRLconst, t)
+               v0 := b.NewValue0(v.Pos, OpARM64ADD, t)
+               v1 := b.NewValue0(v.Pos, OpARM64SRLconst, t)
                v1.AuxInt = 1
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpARM64SRLconst, t)
+               v2 := b.NewValue0(v.Pos, OpARM64SRLconst, t)
                v2.AuxInt = 1
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpARM64AND, t)
-               v4 := b.NewValue0(v.Line, OpARM64AND, t)
+               v3 := b.NewValue0(v.Pos, OpARM64AND, t)
+               v4 := b.NewValue0(v.Pos, OpARM64AND, t)
                v4.AddArg(x)
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v5.AuxInt = 1
                v3.AddArg(v5)
                v.AddArg(v3)
@@ -9596,7 +9596,7 @@ func rewriteValueARM64_OpCtz32(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpARM64CLZW)
-               v0 := b.NewValue0(v.Line, OpARM64RBITW, t)
+               v0 := b.NewValue0(v.Pos, OpARM64RBITW, t)
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -9612,7 +9612,7 @@ func rewriteValueARM64_OpCtz64(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpARM64CLZ)
-               v0 := b.NewValue0(v.Line, OpARM64RBIT, t)
+               v0 := b.NewValue0(v.Pos, OpARM64RBIT, t)
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -9877,10 +9877,10 @@ func rewriteValueARM64_OpDiv16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64DIVW)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -9896,10 +9896,10 @@ func rewriteValueARM64_OpDiv16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64UDIVW)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -10005,10 +10005,10 @@ func rewriteValueARM64_OpDiv8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64DIVW)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -10024,10 +10024,10 @@ func rewriteValueARM64_OpDiv8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64UDIVW)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -10043,11 +10043,11 @@ func rewriteValueARM64_OpEq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64Equal)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10064,7 +10064,7 @@ func rewriteValueARM64_OpEq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64Equal)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10081,7 +10081,7 @@ func rewriteValueARM64_OpEq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64Equal)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10098,7 +10098,7 @@ func rewriteValueARM64_OpEq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64Equal)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10115,7 +10115,7 @@ func rewriteValueARM64_OpEq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64Equal)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10132,11 +10132,11 @@ func rewriteValueARM64_OpEq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64Equal)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10153,10 +10153,10 @@ func rewriteValueARM64_OpEqB(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64XOR)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64XOR, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpARM64XOR, config.fe.TypeBool())
                v1.AddArg(x)
                v1.AddArg(y)
                v.AddArg(v1)
@@ -10173,7 +10173,7 @@ func rewriteValueARM64_OpEqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64Equal)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10190,11 +10190,11 @@ func rewriteValueARM64_OpGeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10211,11 +10211,11 @@ func rewriteValueARM64_OpGeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqualU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10232,7 +10232,7 @@ func rewriteValueARM64_OpGeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10249,7 +10249,7 @@ func rewriteValueARM64_OpGeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10266,7 +10266,7 @@ func rewriteValueARM64_OpGeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqualU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10283,7 +10283,7 @@ func rewriteValueARM64_OpGeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10300,7 +10300,7 @@ func rewriteValueARM64_OpGeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10317,7 +10317,7 @@ func rewriteValueARM64_OpGeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqualU)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10334,11 +10334,11 @@ func rewriteValueARM64_OpGeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10355,11 +10355,11 @@ func rewriteValueARM64_OpGeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqualU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10402,11 +10402,11 @@ func rewriteValueARM64_OpGreater16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10423,11 +10423,11 @@ func rewriteValueARM64_OpGreater16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThanU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10444,7 +10444,7 @@ func rewriteValueARM64_OpGreater32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10461,7 +10461,7 @@ func rewriteValueARM64_OpGreater32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10478,7 +10478,7 @@ func rewriteValueARM64_OpGreater32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThanU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10495,7 +10495,7 @@ func rewriteValueARM64_OpGreater64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10512,7 +10512,7 @@ func rewriteValueARM64_OpGreater64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10529,7 +10529,7 @@ func rewriteValueARM64_OpGreater64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThanU)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10546,11 +10546,11 @@ func rewriteValueARM64_OpGreater8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10567,11 +10567,11 @@ func rewriteValueARM64_OpGreater8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThanU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10589,11 +10589,11 @@ func rewriteValueARM64_OpHmul16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRAconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpARM64MULW, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64MULW, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10611,11 +10611,11 @@ func rewriteValueARM64_OpHmul16u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRLconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpARM64MUL, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64MUL, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10633,7 +10633,7 @@ func rewriteValueARM64_OpHmul32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRAconst)
                v.AuxInt = 32
-               v0 := b.NewValue0(v.Line, OpARM64MULL, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MULL, config.fe.TypeInt64())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10651,7 +10651,7 @@ func rewriteValueARM64_OpHmul32u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRAconst)
                v.AuxInt = 32
-               v0 := b.NewValue0(v.Line, OpARM64UMULL, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64UMULL, config.fe.TypeUInt64())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10699,11 +10699,11 @@ func rewriteValueARM64_OpHmul8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRAconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpARM64MULW, config.fe.TypeInt16())
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64MULW, config.fe.TypeInt16())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10721,11 +10721,11 @@ func rewriteValueARM64_OpHmul8u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRLconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpARM64MUL, config.fe.TypeUInt16())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64MUL, config.fe.TypeUInt16())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10759,7 +10759,7 @@ func rewriteValueARM64_OpIsInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpARM64LessThanU)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -10775,7 +10775,7 @@ func rewriteValueARM64_OpIsNonNil(v *Value, config *Config) bool {
        for {
                ptr := v.Args[0]
                v.reset(OpARM64NotEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v0.AuxInt = 0
                v0.AddArg(ptr)
                v.AddArg(v0)
@@ -10792,7 +10792,7 @@ func rewriteValueARM64_OpIsSliceInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpARM64LessEqualU)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -10809,11 +10809,11 @@ func rewriteValueARM64_OpLeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10830,11 +10830,11 @@ func rewriteValueARM64_OpLeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessEqualU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10851,7 +10851,7 @@ func rewriteValueARM64_OpLeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10868,7 +10868,7 @@ func rewriteValueARM64_OpLeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPS, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10885,7 +10885,7 @@ func rewriteValueARM64_OpLeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessEqualU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10902,7 +10902,7 @@ func rewriteValueARM64_OpLeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10919,7 +10919,7 @@ func rewriteValueARM64_OpLeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -10936,7 +10936,7 @@ func rewriteValueARM64_OpLeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessEqualU)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -10953,11 +10953,11 @@ func rewriteValueARM64_OpLeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10974,11 +10974,11 @@ func rewriteValueARM64_OpLeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessEqualU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -10995,11 +10995,11 @@ func rewriteValueARM64_OpLess16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessThan)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -11016,11 +11016,11 @@ func rewriteValueARM64_OpLess16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessThanU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -11037,7 +11037,7 @@ func rewriteValueARM64_OpLess32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessThan)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11054,7 +11054,7 @@ func rewriteValueARM64_OpLess32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPS, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -11071,7 +11071,7 @@ func rewriteValueARM64_OpLess32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessThanU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11088,7 +11088,7 @@ func rewriteValueARM64_OpLess64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessThan)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11105,7 +11105,7 @@ func rewriteValueARM64_OpLess64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -11122,7 +11122,7 @@ func rewriteValueARM64_OpLess64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessThanU)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -11139,11 +11139,11 @@ func rewriteValueARM64_OpLess8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessThan)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -11160,11 +11160,11 @@ func rewriteValueARM64_OpLess8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64LessThanU)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -11337,13 +11337,13 @@ func rewriteValueARM64_OpLrot16(v *Value, config *Config) bool {
                c := v.AuxInt
                x := v.Args[0]
                v.reset(OpARM64OR)
-               v0 := b.NewValue0(v.Line, OpARM64SLLconst, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLLconst, t)
                v0.AuxInt = c & 15
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64SRLconst, t)
+               v1 := b.NewValue0(v.Pos, OpARM64SRLconst, t)
                v1.AuxInt = 16 - c&15
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
                v.AddArg(v1)
@@ -11391,13 +11391,13 @@ func rewriteValueARM64_OpLrot8(v *Value, config *Config) bool {
                c := v.AuxInt
                x := v.Args[0]
                v.reset(OpARM64OR)
-               v0 := b.NewValue0(v.Line, OpARM64SLLconst, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLLconst, t)
                v0.AuxInt = c & 7
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64SRLconst, t)
+               v1 := b.NewValue0(v.Pos, OpARM64SRLconst, t)
                v1.AuxInt = 8 - c&7
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
                v.AddArg(v1)
@@ -11415,18 +11415,18 @@ func rewriteValueARM64_OpLsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11444,18 +11444,18 @@ func rewriteValueARM64_OpLsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11507,14 +11507,14 @@ func rewriteValueARM64_OpLsh16x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst64, t)
+               v1 := b.NewValue0(v.Pos, OpConst64, t)
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v.AddArg(v2)
@@ -11532,18 +11532,18 @@ func rewriteValueARM64_OpLsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11561,18 +11561,18 @@ func rewriteValueARM64_OpLsh32x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11590,18 +11590,18 @@ func rewriteValueARM64_OpLsh32x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11653,14 +11653,14 @@ func rewriteValueARM64_OpLsh32x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst64, t)
+               v1 := b.NewValue0(v.Pos, OpConst64, t)
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v.AddArg(v2)
@@ -11678,18 +11678,18 @@ func rewriteValueARM64_OpLsh32x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11707,18 +11707,18 @@ func rewriteValueARM64_OpLsh64x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11736,18 +11736,18 @@ func rewriteValueARM64_OpLsh64x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11799,14 +11799,14 @@ func rewriteValueARM64_OpLsh64x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst64, t)
+               v1 := b.NewValue0(v.Pos, OpConst64, t)
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v.AddArg(v2)
@@ -11824,18 +11824,18 @@ func rewriteValueARM64_OpLsh64x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11853,18 +11853,18 @@ func rewriteValueARM64_OpLsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11882,18 +11882,18 @@ func rewriteValueARM64_OpLsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11945,14 +11945,14 @@ func rewriteValueARM64_OpLsh8x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst64, t)
+               v1 := b.NewValue0(v.Pos, OpConst64, t)
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v.AddArg(v2)
@@ -11970,18 +11970,18 @@ func rewriteValueARM64_OpLsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SLL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -11998,10 +11998,10 @@ func rewriteValueARM64_OpMod16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64MODW)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -12017,10 +12017,10 @@ func rewriteValueARM64_OpMod16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64UMODW)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -12096,10 +12096,10 @@ func rewriteValueARM64_OpMod8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64MODW)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -12115,10 +12115,10 @@ func rewriteValueARM64_OpMod8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64UMODW)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -12154,7 +12154,7 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpARM64MOVBstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, config.fe.TypeUInt8())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -12174,7 +12174,7 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpARM64MOVHstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVHUload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVHUload, config.fe.TypeUInt16())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -12194,7 +12194,7 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpARM64MOVWstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVWUload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVWUload, config.fe.TypeUInt32())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -12214,7 +12214,7 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpARM64MOVDstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDload, config.fe.TypeUInt64())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -12235,14 +12235,14 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, config.fe.TypeUInt8())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARM64MOVHUload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVHUload, config.fe.TypeUInt16())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -12264,14 +12264,14 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, config.fe.TypeUInt8())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARM64MOVWUload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVWUload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -12293,14 +12293,14 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                v.reset(OpARM64MOVHstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVHUload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVHUload, config.fe.TypeUInt16())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARM64MOVWUload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVWUload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -12322,22 +12322,22 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 6
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVBUload, config.fe.TypeUInt8())
                v0.AuxInt = 6
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARM64MOVHUload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVHUload, config.fe.TypeUInt16())
                v2.AuxInt = 4
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64MOVWstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpARM64MOVWUload, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpARM64MOVWUload, config.fe.TypeUInt32())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -12360,14 +12360,14 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                v.reset(OpARM64MOVWstore)
                v.AuxInt = 8
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVWUload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVWUload, config.fe.TypeUInt32())
                v0.AuxInt = 8
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVDstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDload, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDload, config.fe.TypeUInt64())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -12389,14 +12389,14 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                v.reset(OpARM64MOVDstore)
                v.AuxInt = 8
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDload, config.fe.TypeUInt64())
                v0.AuxInt = 8
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVDstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDload, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDload, config.fe.TypeUInt64())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -12418,22 +12418,22 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                v.reset(OpARM64MOVDstore)
                v.AuxInt = 16
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDload, config.fe.TypeUInt64())
                v0.AuxInt = 16
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVDstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, TypeMem)
                v1.AuxInt = 8
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDload, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDload, config.fe.TypeUInt64())
                v2.AuxInt = 8
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64MOVDstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpARM64MOVDload, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpARM64MOVDload, config.fe.TypeUInt64())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -12455,15 +12455,15 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMove)
                v.AuxInt = MakeSizeAndAlign(SizeAndAlign(s).Size()%8, 1).Int64()
-               v0 := b.NewValue0(v.Line, OpOffPtr, dst.Type)
+               v0 := b.NewValue0(v.Pos, OpOffPtr, dst.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - SizeAndAlign(s).Size()%8
                v0.AddArg(dst)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOffPtr, src.Type)
+               v1 := b.NewValue0(v.Pos, OpOffPtr, src.Type)
                v1.AuxInt = SizeAndAlign(s).Size() - SizeAndAlign(s).Size()%8
                v1.AddArg(src)
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpMove, TypeMem)
+               v2 := b.NewValue0(v.Pos, OpMove, TypeMem)
                v2.AuxInt = MakeSizeAndAlign(SizeAndAlign(s).Size()-SizeAndAlign(s).Size()%8, 1).Int64()
                v2.AddArg(dst)
                v2.AddArg(src)
@@ -12503,7 +12503,7 @@ func rewriteValueARM64_OpMove(v *Value, config *Config) bool {
                v.reset(OpARM64LoweredMove)
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpARM64ADDconst, src.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDconst, src.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(src)
                v.AddArg(v0)
@@ -12690,11 +12690,11 @@ func rewriteValueARM64_OpNeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64NotEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -12711,7 +12711,7 @@ func rewriteValueARM64_OpNeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64NotEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -12728,7 +12728,7 @@ func rewriteValueARM64_OpNeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64NotEqual)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPS, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPS, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -12745,7 +12745,7 @@ func rewriteValueARM64_OpNeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64NotEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -12762,7 +12762,7 @@ func rewriteValueARM64_OpNeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64NotEqual)
-               v0 := b.NewValue0(v.Line, OpARM64FCMPD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64FCMPD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -12779,11 +12779,11 @@ func rewriteValueARM64_OpNeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64NotEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpARM64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -12815,7 +12815,7 @@ func rewriteValueARM64_OpNeqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64NotEqual)
-               v0 := b.NewValue0(v.Line, OpARM64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpARM64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -12846,7 +12846,7 @@ func rewriteValueARM64_OpNot(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpARM64XOR)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
                v.AddArg(x)
@@ -12968,20 +12968,20 @@ func rewriteValueARM64_OpRsh16Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -12999,20 +12999,20 @@ func rewriteValueARM64_OpRsh16Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -13037,7 +13037,7 @@ func rewriteValueARM64_OpRsh16Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SRLconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -13066,16 +13066,16 @@ func rewriteValueARM64_OpRsh16Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v.AddArg(v3)
@@ -13093,20 +13093,20 @@ func rewriteValueARM64_OpRsh16Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -13123,19 +13123,19 @@ func rewriteValueARM64_OpRsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v3.AuxInt = 63
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -13153,19 +13153,19 @@ func rewriteValueARM64_OpRsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v3.AuxInt = 63
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -13191,7 +13191,7 @@ func rewriteValueARM64_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SRAconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -13211,7 +13211,7 @@ func rewriteValueARM64_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SRAconst)
                v.AuxInt = 63
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -13223,15 +13223,15 @@ func rewriteValueARM64_OpRsh16x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v2.AuxInt = 63
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v1.AddArg(v3)
@@ -13249,19 +13249,19 @@ func rewriteValueARM64_OpRsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v3.AuxInt = 63
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -13280,20 +13280,20 @@ func rewriteValueARM64_OpRsh32Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -13311,20 +13311,20 @@ func rewriteValueARM64_OpRsh32Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -13349,7 +13349,7 @@ func rewriteValueARM64_OpRsh32Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SRLconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -13378,16 +13378,16 @@ func rewriteValueARM64_OpRsh32Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v.AddArg(v3)
@@ -13405,20 +13405,20 @@ func rewriteValueARM64_OpRsh32Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -13435,19 +13435,19 @@ func rewriteValueARM64_OpRsh32x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v3.AuxInt = 63
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -13465,19 +13465,19 @@ func rewriteValueARM64_OpRsh32x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v3.AuxInt = 63
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -13503,7 +13503,7 @@ func rewriteValueARM64_OpRsh32x64(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SRAconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -13523,7 +13523,7 @@ func rewriteValueARM64_OpRsh32x64(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SRAconst)
                v.AuxInt = 63
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -13535,15 +13535,15 @@ func rewriteValueARM64_OpRsh32x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v2.AuxInt = 63
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v1.AddArg(v3)
@@ -13561,19 +13561,19 @@ func rewriteValueARM64_OpRsh32x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v3.AuxInt = 63
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -13592,18 +13592,18 @@ func rewriteValueARM64_OpRsh64Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -13621,18 +13621,18 @@ func rewriteValueARM64_OpRsh64Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -13684,14 +13684,14 @@ func rewriteValueARM64_OpRsh64Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst64, t)
+               v1 := b.NewValue0(v.Pos, OpConst64, t)
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v.AddArg(v2)
@@ -13709,18 +13709,18 @@ func rewriteValueARM64_OpRsh64Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -13738,16 +13738,16 @@ func rewriteValueARM64_OpRsh64x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRA)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v2.AuxInt = 63
                v0.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v0.AddArg(v3)
@@ -13766,16 +13766,16 @@ func rewriteValueARM64_OpRsh64x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRA)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v2.AuxInt = 63
                v0.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v0.AddArg(v3)
@@ -13830,12 +13830,12 @@ func rewriteValueARM64_OpRsh64x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRA)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v1 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v1.AuxInt = 63
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v2.AuxInt = 64
                v2.AddArg(y)
                v0.AddArg(v2)
@@ -13854,16 +13854,16 @@ func rewriteValueARM64_OpRsh64x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpARM64SRA)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v2.AuxInt = 63
                v0.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v0.AddArg(v3)
@@ -13882,20 +13882,20 @@ func rewriteValueARM64_OpRsh8Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -13913,20 +13913,20 @@ func rewriteValueARM64_OpRsh8Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -13951,7 +13951,7 @@ func rewriteValueARM64_OpRsh8Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SRLconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -13980,16 +13980,16 @@ func rewriteValueARM64_OpRsh8Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v.AddArg(v3)
@@ -14007,20 +14007,20 @@ func rewriteValueARM64_OpRsh8Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64CSELULT)
-               v0 := b.NewValue0(v.Line, OpARM64SRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64SRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -14037,19 +14037,19 @@ func rewriteValueARM64_OpRsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v3.AuxInt = 63
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -14067,19 +14067,19 @@ func rewriteValueARM64_OpRsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v3.AuxInt = 63
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -14105,7 +14105,7 @@ func rewriteValueARM64_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SRAconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -14125,7 +14125,7 @@ func rewriteValueARM64_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpARM64SRAconst)
                v.AuxInt = 63
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -14137,15 +14137,15 @@ func rewriteValueARM64_OpRsh8x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v2 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v2.AuxInt = 63
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v3.AuxInt = 64
                v3.AddArg(y)
                v1.AddArg(v3)
@@ -14163,19 +14163,19 @@ func rewriteValueARM64_OpRsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpARM64SRA)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64CSELULT, y.Type)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpARM64CSELULT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpConst64, y.Type)
+               v3 := b.NewValue0(v.Pos, OpConst64, y.Type)
                v3.AuxInt = 63
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpARM64CMPconst, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpARM64CMPconst, TypeFlags)
                v4.AuxInt = 64
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -14271,9 +14271,9 @@ func rewriteValueARM64_OpSlicemask(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpARM64MVN)
-               v0 := b.NewValue0(v.Line, OpARM64SRAconst, t)
+               v0 := b.NewValue0(v.Pos, OpARM64SRAconst, t)
                v0.AuxInt = 63
-               v1 := b.NewValue0(v.Line, OpARM64SUBconst, t)
+               v1 := b.NewValue0(v.Pos, OpARM64SUBconst, t)
                v1.AuxInt = 1
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -14702,7 +14702,7 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpARM64MOVBstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -14720,7 +14720,7 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpARM64MOVHstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -14738,7 +14738,7 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpARM64MOVWstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -14756,7 +14756,7 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpARM64MOVDstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -14775,12 +14775,12 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 2
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, TypeMem)
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -14800,12 +14800,12 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 4
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, TypeMem)
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -14825,12 +14825,12 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                v.reset(OpARM64MOVHstore)
                v.AuxInt = 4
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, TypeMem)
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -14850,18 +14850,18 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                v.reset(OpARM64MOVBstore)
                v.AuxInt = 6
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64MOVWstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, TypeMem)
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -14882,12 +14882,12 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                v.reset(OpARM64MOVWstore)
                v.AuxInt = 8
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVDstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, TypeMem)
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -14907,12 +14907,12 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                v.reset(OpARM64MOVDstore)
                v.AuxInt = 8
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVDstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, TypeMem)
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -14932,18 +14932,18 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                v.reset(OpARM64MOVDstore)
                v.AuxInt = 16
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpARM64MOVDstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, TypeMem)
                v1.AuxInt = 8
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpARM64MOVDstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, TypeMem)
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpARM64MOVDconst, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, config.fe.TypeUInt64())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -14963,11 +14963,11 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpZero)
                v.AuxInt = MakeSizeAndAlign(SizeAndAlign(s).Size()%8, 1).Int64()
-               v0 := b.NewValue0(v.Line, OpOffPtr, ptr.Type)
+               v0 := b.NewValue0(v.Pos, OpOffPtr, ptr.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - SizeAndAlign(s).Size()%8
                v0.AddArg(ptr)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZero, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpZero, TypeMem)
                v1.AuxInt = MakeSizeAndAlign(SizeAndAlign(s).Size()-SizeAndAlign(s).Size()%8, 1).Int64()
                v1.AddArg(ptr)
                v1.AddArg(mem)
@@ -15002,7 +15002,7 @@ func rewriteValueARM64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpARM64LoweredZero)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpARM64ADDconst, ptr.Type)
+               v0 := b.NewValue0(v.Pos, OpARM64ADDconst, ptr.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(ptr)
                v.AddArg(v0)
index cbe9f1b5803d10439211635cbfce0aa48ee526fa..21dae76f5f9ff4b50183a5a359d004b6453c5efc 100644 (file)
@@ -563,7 +563,7 @@ func rewriteValueMIPS_OpAdd32withcarry(v *Value, config *Config) bool {
                c := v.Args[2]
                v.reset(OpMIPSADD)
                v.AddArg(c)
-               v0 := b.NewValue0(v.Line, OpMIPSADD, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSADD, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -721,36 +721,36 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpMIPSLoweredAtomicAnd)
-               v0 := b.NewValue0(v.Line, OpMIPSAND, config.fe.TypeUInt32().PtrTo())
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSAND, config.fe.TypeUInt32().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = ^3
                v0.AddArg(v1)
                v0.AddArg(ptr)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSOR, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpMIPSSLL, config.fe.TypeUInt32())
-               v4 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSOR, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSSLL, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v4.AddArg(val)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v5.AuxInt = 3
-               v6 := b.NewValue0(v.Line, OpMIPSANDconst, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpMIPSANDconst, config.fe.TypeUInt32())
                v6.AuxInt = 3
                v6.AddArg(ptr)
                v5.AddArg(v6)
                v3.AddArg(v5)
                v2.AddArg(v3)
-               v7 := b.NewValue0(v.Line, OpMIPSNORconst, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpMIPSNORconst, config.fe.TypeUInt32())
                v7.AuxInt = 0
-               v8 := b.NewValue0(v.Line, OpMIPSSLL, config.fe.TypeUInt32())
-               v9 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpMIPSSLL, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v9.AuxInt = 0xff
                v8.AddArg(v9)
-               v10 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v10 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v10.AuxInt = 3
-               v11 := b.NewValue0(v.Line, OpMIPSANDconst, config.fe.TypeUInt32())
+               v11 := b.NewValue0(v.Pos, OpMIPSANDconst, config.fe.TypeUInt32())
                v11.AuxInt = 3
-               v12 := b.NewValue0(v.Line, OpMIPSXORconst, config.fe.TypeUInt32())
+               v12 := b.NewValue0(v.Pos, OpMIPSXORconst, config.fe.TypeUInt32())
                v12.AuxInt = 3
                v12.AddArg(ptr)
                v11.AddArg(v12)
@@ -773,39 +773,39 @@ func rewriteValueMIPS_OpAtomicAnd8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpMIPSLoweredAtomicAnd)
-               v0 := b.NewValue0(v.Line, OpMIPSAND, config.fe.TypeUInt32().PtrTo())
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSAND, config.fe.TypeUInt32().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = ^3
                v0.AddArg(v1)
                v0.AddArg(ptr)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSOR, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpMIPSSLL, config.fe.TypeUInt32())
-               v4 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSOR, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSSLL, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v4.AddArg(val)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v5.AuxInt = 3
-               v6 := b.NewValue0(v.Line, OpMIPSANDconst, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpMIPSANDconst, config.fe.TypeUInt32())
                v6.AuxInt = 3
-               v7 := b.NewValue0(v.Line, OpMIPSXORconst, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpMIPSXORconst, config.fe.TypeUInt32())
                v7.AuxInt = 3
                v7.AddArg(ptr)
                v6.AddArg(v7)
                v5.AddArg(v6)
                v3.AddArg(v5)
                v2.AddArg(v3)
-               v8 := b.NewValue0(v.Line, OpMIPSNORconst, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpMIPSNORconst, config.fe.TypeUInt32())
                v8.AuxInt = 0
-               v9 := b.NewValue0(v.Line, OpMIPSSLL, config.fe.TypeUInt32())
-               v10 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpMIPSSLL, config.fe.TypeUInt32())
+               v10 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v10.AuxInt = 0xff
                v9.AddArg(v10)
-               v11 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v11 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v11.AuxInt = 3
-               v12 := b.NewValue0(v.Line, OpMIPSANDconst, config.fe.TypeUInt32())
+               v12 := b.NewValue0(v.Pos, OpMIPSANDconst, config.fe.TypeUInt32())
                v12.AuxInt = 3
-               v13 := b.NewValue0(v.Line, OpMIPSXORconst, config.fe.TypeUInt32())
+               v13 := b.NewValue0(v.Pos, OpMIPSXORconst, config.fe.TypeUInt32())
                v13.AuxInt = 3
                v13.AddArg(ptr)
                v12.AddArg(v13)
@@ -899,19 +899,19 @@ func rewriteValueMIPS_OpAtomicOr8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpMIPSLoweredAtomicOr)
-               v0 := b.NewValue0(v.Line, OpMIPSAND, config.fe.TypeUInt32().PtrTo())
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSAND, config.fe.TypeUInt32().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = ^3
                v0.AddArg(v1)
                v0.AddArg(ptr)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSSLL, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSSLL, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v3.AddArg(val)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v4.AuxInt = 3
-               v5 := b.NewValue0(v.Line, OpMIPSANDconst, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpMIPSANDconst, config.fe.TypeUInt32())
                v5.AuxInt = 3
                v5.AddArg(ptr)
                v4.AddArg(v5)
@@ -931,21 +931,21 @@ func rewriteValueMIPS_OpAtomicOr8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpMIPSLoweredAtomicOr)
-               v0 := b.NewValue0(v.Line, OpMIPSAND, config.fe.TypeUInt32().PtrTo())
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSAND, config.fe.TypeUInt32().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = ^3
                v0.AddArg(v1)
                v0.AddArg(ptr)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSSLL, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSSLL, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v3.AddArg(val)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v4.AuxInt = 3
-               v5 := b.NewValue0(v.Line, OpMIPSANDconst, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpMIPSANDconst, config.fe.TypeUInt32())
                v5.AuxInt = 3
-               v6 := b.NewValue0(v.Line, OpMIPSXORconst, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpMIPSXORconst, config.fe.TypeUInt32())
                v6.AuxInt = 3
                v6.AddArg(ptr)
                v5.AddArg(v6)
@@ -1167,15 +1167,15 @@ func rewriteValueMIPS_OpCtz32(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpMIPSSUB)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 32
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSCLZ, t)
-               v2 := b.NewValue0(v.Line, OpMIPSSUBconst, t)
+               v1 := b.NewValue0(v.Pos, OpMIPSCLZ, t)
+               v2 := b.NewValue0(v.Pos, OpMIPSSUBconst, t)
                v2.AuxInt = 1
-               v3 := b.NewValue0(v.Line, OpMIPSAND, t)
+               v3 := b.NewValue0(v.Pos, OpMIPSAND, t)
                v3.AddArg(x)
-               v4 := b.NewValue0(v.Line, OpMIPSNEG, t)
+               v4 := b.NewValue0(v.Pos, OpMIPSNEG, t)
                v4.AddArg(x)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -1287,11 +1287,11 @@ func rewriteValueMIPS_OpDiv16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1308,11 +1308,11 @@ func rewriteValueMIPS_OpDiv16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1329,7 +1329,7 @@ func rewriteValueMIPS_OpDiv32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
+               v0 := b.NewValue0(v.Pos, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1361,7 +1361,7 @@ func rewriteValueMIPS_OpDiv32u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v0 := b.NewValue0(v.Pos, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1393,11 +1393,11 @@ func rewriteValueMIPS_OpDiv8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1414,11 +1414,11 @@ func rewriteValueMIPS_OpDiv8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1436,11 +1436,11 @@ func rewriteValueMIPS_OpEq16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSXOR, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSXOR, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1458,7 +1458,7 @@ func rewriteValueMIPS_OpEq32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSXOR, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSXOR, config.fe.TypeUInt32())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1475,7 +1475,7 @@ func rewriteValueMIPS_OpEq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPEQF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPEQF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1492,7 +1492,7 @@ func rewriteValueMIPS_OpEq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPEQD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPEQD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1510,11 +1510,11 @@ func rewriteValueMIPS_OpEq8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSXOR, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSXOR, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1532,7 +1532,7 @@ func rewriteValueMIPS_OpEqB(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSXOR, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpMIPSXOR, config.fe.TypeBool())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1550,7 +1550,7 @@ func rewriteValueMIPS_OpEqPtr(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSXOR, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSXOR, config.fe.TypeUInt32())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1568,11 +1568,11 @@ func rewriteValueMIPS_OpGeq16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGT, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGT, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(x)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1590,11 +1590,11 @@ func rewriteValueMIPS_OpGeq16U(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGTU, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(x)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1612,7 +1612,7 @@ func rewriteValueMIPS_OpGeq32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGT, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGT, config.fe.TypeBool())
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1629,7 +1629,7 @@ func rewriteValueMIPS_OpGeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPGEF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPGEF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1647,7 +1647,7 @@ func rewriteValueMIPS_OpGeq32U(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGTU, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGTU, config.fe.TypeBool())
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -1664,7 +1664,7 @@ func rewriteValueMIPS_OpGeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPGED, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPGED, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1682,11 +1682,11 @@ func rewriteValueMIPS_OpGeq8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGT, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGT, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(x)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1704,11 +1704,11 @@ func rewriteValueMIPS_OpGeq8U(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGTU, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(x)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1751,10 +1751,10 @@ func rewriteValueMIPS_OpGreater16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGT)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1770,10 +1770,10 @@ func rewriteValueMIPS_OpGreater16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1804,7 +1804,7 @@ func rewriteValueMIPS_OpGreater32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPGTF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPGTF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1836,7 +1836,7 @@ func rewriteValueMIPS_OpGreater64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPGTD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPGTD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1853,10 +1853,10 @@ func rewriteValueMIPS_OpGreater8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGT)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1872,10 +1872,10 @@ func rewriteValueMIPS_OpGreater8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1892,11 +1892,11 @@ func rewriteValueMIPS_OpHmul16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSRAconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpMIPSMUL, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMUL, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1914,11 +1914,11 @@ func rewriteValueMIPS_OpHmul16u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSRLconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpMIPSMUL, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMUL, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1935,7 +1935,7 @@ func rewriteValueMIPS_OpHmul32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPSMULT, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
+               v0 := b.NewValue0(v.Pos, OpMIPSMULT, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1952,7 +1952,7 @@ func rewriteValueMIPS_OpHmul32u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPSMULTU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v0 := b.NewValue0(v.Pos, OpMIPSMULTU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1970,11 +1970,11 @@ func rewriteValueMIPS_OpHmul8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSRAconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpMIPSMUL, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMUL, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1992,11 +1992,11 @@ func rewriteValueMIPS_OpHmul8u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSRLconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpMIPSMUL, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMUL, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2045,7 +2045,7 @@ func rewriteValueMIPS_OpIsNonNil(v *Value, config *Config) bool {
                ptr := v.Args[0]
                v.reset(OpMIPSSGTU)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                return true
@@ -2062,7 +2062,7 @@ func rewriteValueMIPS_OpIsSliceInBounds(v *Value, config *Config) bool {
                len := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGTU, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGTU, config.fe.TypeBool())
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -2080,11 +2080,11 @@ func rewriteValueMIPS_OpLeq16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGT, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGT, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2102,11 +2102,11 @@ func rewriteValueMIPS_OpLeq16U(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGTU, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2124,7 +2124,7 @@ func rewriteValueMIPS_OpLeq32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGT, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGT, config.fe.TypeBool())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2141,7 +2141,7 @@ func rewriteValueMIPS_OpLeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPGEF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPGEF, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2159,7 +2159,7 @@ func rewriteValueMIPS_OpLeq32U(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGTU, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGTU, config.fe.TypeBool())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2176,7 +2176,7 @@ func rewriteValueMIPS_OpLeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPGED, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPGED, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2194,11 +2194,11 @@ func rewriteValueMIPS_OpLeq8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGT, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGT, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2216,11 +2216,11 @@ func rewriteValueMIPS_OpLeq8U(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSXORconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSSGTU, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2237,10 +2237,10 @@ func rewriteValueMIPS_OpLess16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGT)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2256,10 +2256,10 @@ func rewriteValueMIPS_OpLess16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2290,7 +2290,7 @@ func rewriteValueMIPS_OpLess32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPGTF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPGTF, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2322,7 +2322,7 @@ func rewriteValueMIPS_OpLess64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPGTD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPGTD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2339,10 +2339,10 @@ func rewriteValueMIPS_OpLess8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGT)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2358,10 +2358,10 @@ func rewriteValueMIPS_OpLess8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2503,18 +2503,18 @@ func rewriteValueMIPS_OpLsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSLL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -2532,14 +2532,14 @@ func rewriteValueMIPS_OpLsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSLL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v2.AuxInt = 32
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2596,18 +2596,18 @@ func rewriteValueMIPS_OpLsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSLL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -2625,18 +2625,18 @@ func rewriteValueMIPS_OpLsh32x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSLL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -2654,14 +2654,14 @@ func rewriteValueMIPS_OpLsh32x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSLL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v2.AuxInt = 32
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2718,18 +2718,18 @@ func rewriteValueMIPS_OpLsh32x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSLL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -2747,18 +2747,18 @@ func rewriteValueMIPS_OpLsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSLL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -2776,14 +2776,14 @@ func rewriteValueMIPS_OpLsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSLL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v2.AuxInt = 32
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2840,18 +2840,18 @@ func rewriteValueMIPS_OpLsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSLL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSLL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -3073,7 +3073,7 @@ func rewriteValueMIPS_OpMIPSAND(v *Value, config *Config) bool {
                y := v_1.Args[0]
                v.reset(OpMIPSSGTUconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpMIPSOR, x.Type)
+               v0 := b.NewValue0(v.Pos, OpMIPSOR, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -3403,7 +3403,7 @@ func rewriteValueMIPS_OpMIPSMOVBUreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpMIPSMOVBUload, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, t)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -3561,7 +3561,7 @@ func rewriteValueMIPS_OpMIPSMOVBreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpMIPSMOVBload, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVBload, t)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -4243,7 +4243,7 @@ func rewriteValueMIPS_OpMIPSMOVHUreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpMIPSMOVHUload, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVHUload, t)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -4449,7 +4449,7 @@ func rewriteValueMIPS_OpMIPSMOVHreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpMIPSMOVHload, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVHload, t)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -5162,7 +5162,7 @@ func rewriteValueMIPS_OpMIPSOR(v *Value, config *Config) bool {
                }
                y := v_1.Args[0]
                v.reset(OpMIPSSGTUzero)
-               v0 := b.NewValue0(v.Line, OpMIPSOR, x.Type)
+               v0 := b.NewValue0(v.Pos, OpMIPSOR, x.Type)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -6078,11 +6078,11 @@ func rewriteValueMIPS_OpMod16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6099,11 +6099,11 @@ func rewriteValueMIPS_OpMod16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6120,7 +6120,7 @@ func rewriteValueMIPS_OpMod32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
+               v0 := b.NewValue0(v.Pos, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -6137,7 +6137,7 @@ func rewriteValueMIPS_OpMod32u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v0 := b.NewValue0(v.Pos, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -6154,11 +6154,11 @@ func rewriteValueMIPS_OpMod8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSDIV, MakeTuple(config.fe.TypeInt32(), config.fe.TypeInt32()))
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6175,11 +6175,11 @@ func rewriteValueMIPS_OpMod8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSDIVU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6216,7 +6216,7 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSMOVBstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -6236,7 +6236,7 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSMOVHstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVHUload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVHUload, config.fe.TypeUInt16())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -6257,14 +6257,14 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 1
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v0.AuxInt = 1
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -6285,7 +6285,7 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSMOVWstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -6306,14 +6306,14 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVHstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVHUload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVHUload, config.fe.TypeUInt16())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVHUload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVHUload, config.fe.TypeUInt16())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -6335,30 +6335,30 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 3
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v0.AuxInt = 3
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v2.AuxInt = 2
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v3.AuxInt = 1
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v4.AuxInt = 1
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v5.AddArg(dst)
-               v6 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v6 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v6.AddArg(src)
                v6.AddArg(mem)
                v5.AddArg(v6)
@@ -6382,22 +6382,22 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v1.AuxInt = 1
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v2.AuxInt = 1
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVBUload, config.fe.TypeUInt8())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVBUload, config.fe.TypeUInt8())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -6420,14 +6420,14 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVWstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -6449,30 +6449,30 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVHstore)
                v.AuxInt = 6
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVHload, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVHload, config.fe.TypeInt16())
                v0.AuxInt = 6
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVHload, config.fe.TypeInt16())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVHload, config.fe.TypeInt16())
                v2.AuxInt = 4
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVHstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, TypeMem)
                v3.AuxInt = 2
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVHload, config.fe.TypeInt16())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVHload, config.fe.TypeInt16())
                v4.AuxInt = 2
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPSMOVHstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpMIPSMOVHstore, TypeMem)
                v5.AddArg(dst)
-               v6 := b.NewValue0(v.Line, OpMIPSMOVHload, config.fe.TypeInt16())
+               v6 := b.NewValue0(v.Pos, OpMIPSMOVHload, config.fe.TypeInt16())
                v6.AddArg(src)
                v6.AddArg(mem)
                v5.AddArg(v6)
@@ -6496,22 +6496,22 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVHstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVHload, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVHload, config.fe.TypeInt16())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVHload, config.fe.TypeInt16())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVHload, config.fe.TypeInt16())
                v2.AuxInt = 2
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVHstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVHload, config.fe.TypeInt16())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVHload, config.fe.TypeInt16())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -6534,22 +6534,22 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVWstore)
                v.AuxInt = 8
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v0.AuxInt = 8
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v2.AuxInt = 4
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -6572,30 +6572,30 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVWstore)
                v.AuxInt = 12
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v0.AuxInt = 12
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v1.AuxInt = 8
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v2.AuxInt = 8
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v3.AuxInt = 4
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v4.AuxInt = 4
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v5.AddArg(dst)
-               v6 := b.NewValue0(v.Line, OpMIPSMOVWload, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpMIPSMOVWload, config.fe.TypeUInt32())
                v6.AddArg(src)
                v6.AddArg(mem)
                v5.AddArg(v6)
@@ -6620,7 +6620,7 @@ func rewriteValueMIPS_OpMove(v *Value, config *Config) bool {
                v.AuxInt = SizeAndAlign(s).Align()
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpMIPSADDconst, src.Type)
+               v0 := b.NewValue0(v.Pos, OpMIPSADDconst, src.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(src)
                v.AddArg(v0)
@@ -6794,15 +6794,15 @@ func rewriteValueMIPS_OpNeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGTU)
-               v0 := b.NewValue0(v.Line, OpMIPSXOR, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSXOR, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = 0
                v.AddArg(v3)
                return true
@@ -6818,11 +6818,11 @@ func rewriteValueMIPS_OpNeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGTU)
-               v0 := b.NewValue0(v.Line, OpMIPSXOR, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSXOR, config.fe.TypeUInt32())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v.AddArg(v1)
                return true
@@ -6838,7 +6838,7 @@ func rewriteValueMIPS_OpNeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagFalse)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPEQF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPEQF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -6855,7 +6855,7 @@ func rewriteValueMIPS_OpNeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSFPFlagFalse)
-               v0 := b.NewValue0(v.Line, OpMIPSCMPEQD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPSCMPEQD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -6872,15 +6872,15 @@ func rewriteValueMIPS_OpNeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGTU)
-               v0 := b.NewValue0(v.Line, OpMIPSXOR, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSXOR, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = 0
                v.AddArg(v3)
                return true
@@ -6911,11 +6911,11 @@ func rewriteValueMIPS_OpNeqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSGTU)
-               v0 := b.NewValue0(v.Line, OpMIPSXOR, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSXOR, config.fe.TypeUInt32())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v.AddArg(v1)
                return true
@@ -7050,20 +7050,20 @@ func rewriteValueMIPS_OpRsh16Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v4.AuxInt = 32
-               v5 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -7081,16 +7081,16 @@ func rewriteValueMIPS_OpRsh16Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
                v3.AddArg(y)
                v.AddArg(v3)
@@ -7115,7 +7115,7 @@ func rewriteValueMIPS_OpRsh16Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSSRLconst)
                v.AuxInt = c + 16
-               v0 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 16
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7150,20 +7150,20 @@ func rewriteValueMIPS_OpRsh16Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v4.AuxInt = 32
-               v5 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -7180,19 +7180,19 @@ func rewriteValueMIPS_OpRsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSCMOVZ, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = -1
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v4.AuxInt = 32
-               v5 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -7210,15 +7210,15 @@ func rewriteValueMIPS_OpRsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSCMOVZ, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, config.fe.TypeUInt32())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = -1
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
                v3.AddArg(y)
                v1.AddArg(v3)
@@ -7244,7 +7244,7 @@ func rewriteValueMIPS_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSSRAconst)
                v.AuxInt = c + 16
-               v0 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 16
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7265,7 +7265,7 @@ func rewriteValueMIPS_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSSRAconst)
                v.AuxInt = 31
-               v0 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 16
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7283,19 +7283,19 @@ func rewriteValueMIPS_OpRsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSCMOVZ, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = -1
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v4.AuxInt = 32
-               v5 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -7314,18 +7314,18 @@ func rewriteValueMIPS_OpRsh32Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSRL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -7343,14 +7343,14 @@ func rewriteValueMIPS_OpRsh32Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSRL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v2.AuxInt = 32
                v2.AddArg(y)
                v.AddArg(v2)
@@ -7407,18 +7407,18 @@ func rewriteValueMIPS_OpRsh32Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSRL, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v.AddArg(v3)
@@ -7436,16 +7436,16 @@ func rewriteValueMIPS_OpRsh32x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSRA)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMIPSCMOVZ, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = -1
                v0.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v0.AddArg(v3)
@@ -7464,12 +7464,12 @@ func rewriteValueMIPS_OpRsh32x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSRA)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMIPSCMOVZ, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, config.fe.TypeUInt32())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = -1
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v2.AuxInt = 32
                v2.AddArg(y)
                v0.AddArg(v2)
@@ -7529,16 +7529,16 @@ func rewriteValueMIPS_OpRsh32x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPSSRA)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMIPSCMOVZ, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSCMOVZ, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = -1
                v0.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
-               v4 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v4.AddArg(y)
                v3.AddArg(v4)
                v0.AddArg(v3)
@@ -7557,20 +7557,20 @@ func rewriteValueMIPS_OpRsh8Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v4.AuxInt = 32
-               v5 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -7588,16 +7588,16 @@ func rewriteValueMIPS_OpRsh8Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
                v3.AddArg(y)
                v.AddArg(v3)
@@ -7622,7 +7622,7 @@ func rewriteValueMIPS_OpRsh8Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSSRLconst)
                v.AuxInt = c + 24
-               v0 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 24
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7657,20 +7657,20 @@ func rewriteValueMIPS_OpRsh8Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSSRL, t)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSRL, t)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = 0
                v.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v4.AuxInt = 32
-               v5 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -7687,19 +7687,19 @@ func rewriteValueMIPS_OpRsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSCMOVZ, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = -1
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v4.AuxInt = 32
-               v5 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -7717,15 +7717,15 @@ func rewriteValueMIPS_OpRsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSCMOVZ, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, config.fe.TypeUInt32())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = -1
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v3.AuxInt = 32
                v3.AddArg(y)
                v1.AddArg(v3)
@@ -7751,7 +7751,7 @@ func rewriteValueMIPS_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSSRAconst)
                v.AuxInt = c + 24
-               v0 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 24
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7772,7 +7772,7 @@ func rewriteValueMIPS_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSSRAconst)
                v.AuxInt = 31
-               v0 := b.NewValue0(v.Line, OpMIPSSLLconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSSLLconst, config.fe.TypeUInt32())
                v0.AuxInt = 24
                v0.AddArg(x)
                v.AddArg(v0)
@@ -7790,19 +7790,19 @@ func rewriteValueMIPS_OpRsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPSSRA)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSCMOVZ, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSCMOVZ, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v3.AuxInt = -1
                v1.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpMIPSSGTUconst, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, config.fe.TypeBool())
                v4.AuxInt = 32
-               v5 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v5.AddArg(y)
                v4.AddArg(v5)
                v1.AddArg(v4)
@@ -7865,8 +7865,8 @@ func rewriteValueMIPS_OpSelect0(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPSMULTU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMULTU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = c
                v0.AddArg(v1)
                v0.AddArg(x)
@@ -7928,11 +7928,11 @@ func rewriteValueMIPS_OpSelect0(v *Value, config *Config) bool {
                }
                x := v_0.Args[1]
                v.reset(OpMIPSCMOVZ)
-               v0 := b.NewValue0(v.Line, OpMIPSADDconst, x.Type)
+               v0 := b.NewValue0(v.Pos, OpMIPSADDconst, x.Type)
                v0.AuxInt = -1
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v.AddArg(v1)
                v.AddArg(x)
@@ -8045,7 +8045,7 @@ func rewriteValueMIPS_OpSelect1(v *Value, config *Config) bool {
                v.reset(OpMIPSSGTU)
                v.Type = config.fe.TypeBool()
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMIPSADD, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpMIPSADD, t.FieldType(0))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -8064,7 +8064,7 @@ func rewriteValueMIPS_OpSelect1(v *Value, config *Config) bool {
                y := v_0.Args[1]
                v.reset(OpMIPSSGTU)
                v.Type = config.fe.TypeBool()
-               v0 := b.NewValue0(v.Line, OpMIPSSUB, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpMIPSSUB, t.FieldType(0))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -8089,8 +8089,8 @@ func rewriteValueMIPS_OpSelect1(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPSMULTU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMULTU, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = c
                v0.AddArg(v1)
                v0.AddArg(x)
@@ -8310,9 +8310,9 @@ func rewriteValueMIPS_OpSlicemask(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpMIPSNEG)
-               v0 := b.NewValue0(v.Line, OpMIPSSGT, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGT, config.fe.TypeBool())
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v0.AddArg(v1)
                v.AddArg(v0)
@@ -8519,7 +8519,7 @@ func rewriteValueMIPS_OpSub32withcarry(v *Value, config *Config) bool {
                y := v.Args[1]
                c := v.Args[2]
                v.reset(OpMIPSSUB)
-               v0 := b.NewValue0(v.Line, OpMIPSSUB, t)
+               v0 := b.NewValue0(v.Pos, OpMIPSSUB, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -8688,7 +8688,7 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSMOVBstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -8706,7 +8706,7 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSMOVHstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -8725,13 +8725,13 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 1
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -8750,7 +8750,7 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpMIPSMOVWstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -8769,13 +8769,13 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVHstore)
                v.AuxInt = 2
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -8795,25 +8795,25 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 3
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v3.AuxInt = 1
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v4.AuxInt = 0
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v5.AuxInt = 0
                v5.AddArg(ptr)
-               v6 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v6.AuxInt = 0
                v5.AddArg(v6)
                v5.AddArg(mem)
@@ -8835,19 +8835,19 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVBstore)
                v.AuxInt = 2
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v1.AuxInt = 1
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, TypeMem)
                v3.AuxInt = 0
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -8868,19 +8868,19 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVHstore)
                v.AuxInt = 4
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVHstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, TypeMem)
                v3.AuxInt = 0
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -8901,13 +8901,13 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVWstore)
                v.AuxInt = 4
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -8927,19 +8927,19 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVWstore)
                v.AuxInt = 8
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v3.AuxInt = 0
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -8960,25 +8960,25 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPSMOVWstore)
                v.AuxInt = 12
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v1.AuxInt = 8
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v3.AuxInt = 4
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v4.AuxInt = 0
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPSMOVWstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpMIPSMOVWstore, TypeMem)
                v5.AuxInt = 0
                v5.AddArg(ptr)
-               v6 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v6.AuxInt = 0
                v5.AddArg(v6)
                v5.AddArg(mem)
@@ -9000,7 +9000,7 @@ func rewriteValueMIPS_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPSLoweredZero)
                v.AuxInt = SizeAndAlign(s).Align()
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPSADDconst, ptr.Type)
+               v0 := b.NewValue0(v.Pos, OpMIPSADDconst, ptr.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(ptr)
                v.AddArg(v0)
@@ -9057,9 +9057,9 @@ func rewriteValueMIPS_OpZeromask(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpMIPSNEG)
-               v0 := b.NewValue0(v.Line, OpMIPSSGTU, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpMIPSSGTU, config.fe.TypeBool())
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpMIPSMOVWconst, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPSMOVWconst, config.fe.TypeUInt32())
                v1.AuxInt = 0
                v0.AddArg(v1)
                v.AddArg(v0)
index 76c6412966c0ae640db99019c98060a9b77dd34a..5821337c2f9d242957c887815d4029b94c3ba64e 100644 (file)
@@ -779,22 +779,22 @@ func rewriteValueMIPS64_OpAvg64u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64ADDV)
-               v0 := b.NewValue0(v.Line, OpMIPS64ADDV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SRLVconst, t)
+               v0 := b.NewValue0(v.Pos, OpMIPS64ADDV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SRLVconst, t)
                v1.AuxInt = 1
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpMIPS64SRLVconst, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64SRLVconst, t)
                v2.AuxInt = 1
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64AND, t)
-               v4 := b.NewValue0(v.Line, OpMIPS64AND, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64AND, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64AND, t)
                v4.AddArg(x)
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v5.AuxInt = 1
                v3.AddArg(v5)
                v.AddArg(v3)
@@ -829,7 +829,7 @@ func rewriteValueMIPS64_OpCom16(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpMIPS64NOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(x)
@@ -845,7 +845,7 @@ func rewriteValueMIPS64_OpCom32(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpMIPS64NOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(x)
@@ -861,7 +861,7 @@ func rewriteValueMIPS64_OpCom64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpMIPS64NOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(x)
@@ -877,7 +877,7 @@ func rewriteValueMIPS64_OpCom8(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpMIPS64NOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(x)
@@ -1157,11 +1157,11 @@ func rewriteValueMIPS64_OpDiv16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
-               v1 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v1 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1178,11 +1178,11 @@ func rewriteValueMIPS64_OpDiv16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1199,11 +1199,11 @@ func rewriteValueMIPS64_OpDiv32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
-               v1 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v1 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1235,11 +1235,11 @@ func rewriteValueMIPS64_OpDiv32u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1256,7 +1256,7 @@ func rewriteValueMIPS64_OpDiv64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1288,7 +1288,7 @@ func rewriteValueMIPS64_OpDiv64u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1305,11 +1305,11 @@ func rewriteValueMIPS64_OpDiv8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
-               v1 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v1 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1326,11 +1326,11 @@ func rewriteValueMIPS64_OpDiv8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1347,14 +1347,14 @@ func rewriteValueMIPS64_OpEq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -1371,14 +1371,14 @@ func rewriteValueMIPS64_OpEq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -1395,7 +1395,7 @@ func rewriteValueMIPS64_OpEq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPEQF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1412,10 +1412,10 @@ func rewriteValueMIPS64_OpEq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
                v1.AddArg(x)
                v1.AddArg(y)
                v.AddArg(v1)
@@ -1432,7 +1432,7 @@ func rewriteValueMIPS64_OpEq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPEQD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1449,14 +1449,14 @@ func rewriteValueMIPS64_OpEq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -1473,10 +1473,10 @@ func rewriteValueMIPS64_OpEqB(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeBool())
                v1.AddArg(x)
                v1.AddArg(y)
                v.AddArg(v1)
@@ -1493,10 +1493,10 @@ func rewriteValueMIPS64_OpEqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
                v1.AddArg(x)
                v1.AddArg(y)
                v.AddArg(v1)
@@ -1513,14 +1513,14 @@ func rewriteValueMIPS64_OpGeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGT, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGT, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v3.AddArg(x)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -1537,14 +1537,14 @@ func rewriteValueMIPS64_OpGeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(x)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -1561,14 +1561,14 @@ func rewriteValueMIPS64_OpGeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGT, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGT, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v3.AddArg(x)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -1585,7 +1585,7 @@ func rewriteValueMIPS64_OpGeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPGEF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPGEF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1602,14 +1602,14 @@ func rewriteValueMIPS64_OpGeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(x)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -1626,10 +1626,10 @@ func rewriteValueMIPS64_OpGeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGT, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGT, config.fe.TypeBool())
                v1.AddArg(y)
                v1.AddArg(x)
                v.AddArg(v1)
@@ -1646,7 +1646,7 @@ func rewriteValueMIPS64_OpGeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPGED, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPGED, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1663,10 +1663,10 @@ func rewriteValueMIPS64_OpGeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
                v1.AddArg(y)
                v1.AddArg(x)
                v.AddArg(v1)
@@ -1683,14 +1683,14 @@ func rewriteValueMIPS64_OpGeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGT, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGT, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v3.AddArg(x)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -1707,14 +1707,14 @@ func rewriteValueMIPS64_OpGeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(x)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -1757,10 +1757,10 @@ func rewriteValueMIPS64_OpGreater16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGT)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1776,10 +1776,10 @@ func rewriteValueMIPS64_OpGreater16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1795,10 +1795,10 @@ func rewriteValueMIPS64_OpGreater32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGT)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1814,7 +1814,7 @@ func rewriteValueMIPS64_OpGreater32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPGTF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1831,10 +1831,10 @@ func rewriteValueMIPS64_OpGreater32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1865,7 +1865,7 @@ func rewriteValueMIPS64_OpGreater64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPGTD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1897,10 +1897,10 @@ func rewriteValueMIPS64_OpGreater8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGT)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1916,10 +1916,10 @@ func rewriteValueMIPS64_OpGreater8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1936,12 +1936,12 @@ func rewriteValueMIPS64_OpHmul16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRAVconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpSelect1, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpMIPS64MULV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
-               v2 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSelect1, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPS64MULV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v2 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
@@ -1960,12 +1960,12 @@ func rewriteValueMIPS64_OpHmul16u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRLVconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpSelect1, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpSelect1, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
@@ -1984,12 +1984,12 @@ func rewriteValueMIPS64_OpHmul32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRAVconst)
                v.AuxInt = 32
-               v0 := b.NewValue0(v.Line, OpSelect1, config.fe.TypeInt64())
-               v1 := b.NewValue0(v.Line, OpMIPS64MULV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
-               v2 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSelect1, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64MULV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v2 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
@@ -2008,12 +2008,12 @@ func rewriteValueMIPS64_OpHmul32u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRLVconst)
                v.AuxInt = 32
-               v0 := b.NewValue0(v.Line, OpSelect1, config.fe.TypeUInt64())
-               v1 := b.NewValue0(v.Line, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpSelect1, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
@@ -2031,7 +2031,7 @@ func rewriteValueMIPS64_OpHmul64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64MULV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64MULV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2048,7 +2048,7 @@ func rewriteValueMIPS64_OpHmul64u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2066,12 +2066,12 @@ func rewriteValueMIPS64_OpHmul8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRAVconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpSelect1, config.fe.TypeInt16())
-               v1 := b.NewValue0(v.Line, OpMIPS64MULV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
-               v2 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSelect1, config.fe.TypeInt16())
+               v1 := b.NewValue0(v.Pos, OpMIPS64MULV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v2 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
@@ -2090,12 +2090,12 @@ func rewriteValueMIPS64_OpHmul8u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRLVconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpSelect1, config.fe.TypeUInt16())
-               v1 := b.NewValue0(v.Line, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpSelect1, config.fe.TypeUInt16())
+               v1 := b.NewValue0(v.Pos, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
@@ -2145,7 +2145,7 @@ func rewriteValueMIPS64_OpIsNonNil(v *Value, config *Config) bool {
                ptr := v.Args[0]
                v.reset(OpMIPS64SGTU)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                return true
@@ -2161,10 +2161,10 @@ func rewriteValueMIPS64_OpIsSliceInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
                v1.AddArg(idx)
                v1.AddArg(len)
                v.AddArg(v1)
@@ -2181,14 +2181,14 @@ func rewriteValueMIPS64_OpLeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGT, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGT, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -2205,14 +2205,14 @@ func rewriteValueMIPS64_OpLeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -2229,14 +2229,14 @@ func rewriteValueMIPS64_OpLeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGT, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGT, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -2253,7 +2253,7 @@ func rewriteValueMIPS64_OpLeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPGEF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPGEF, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2270,14 +2270,14 @@ func rewriteValueMIPS64_OpLeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -2294,10 +2294,10 @@ func rewriteValueMIPS64_OpLeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGT, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGT, config.fe.TypeBool())
                v1.AddArg(x)
                v1.AddArg(y)
                v.AddArg(v1)
@@ -2314,7 +2314,7 @@ func rewriteValueMIPS64_OpLeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPGED, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPGED, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2331,10 +2331,10 @@ func rewriteValueMIPS64_OpLeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
                v1.AddArg(x)
                v1.AddArg(y)
                v.AddArg(v1)
@@ -2351,14 +2351,14 @@ func rewriteValueMIPS64_OpLeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGT, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGT, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -2375,14 +2375,14 @@ func rewriteValueMIPS64_OpLeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64XOR)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v.AddArg(v1)
@@ -2399,10 +2399,10 @@ func rewriteValueMIPS64_OpLess16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGT)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2418,10 +2418,10 @@ func rewriteValueMIPS64_OpLess16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2437,10 +2437,10 @@ func rewriteValueMIPS64_OpLess32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGT)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2456,7 +2456,7 @@ func rewriteValueMIPS64_OpLess32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPGTF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTF, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2473,10 +2473,10 @@ func rewriteValueMIPS64_OpLess32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2507,7 +2507,7 @@ func rewriteValueMIPS64_OpLess64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagTrue)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPGTD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPGTD, TypeFlags)
                v0.AddArg(y)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -2539,10 +2539,10 @@ func rewriteValueMIPS64_OpLess8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGT)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2558,10 +2558,10 @@ func rewriteValueMIPS64_OpLess8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v.AddArg(v1)
                return true
@@ -2733,19 +2733,19 @@ func rewriteValueMIPS64_OpLsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -2763,19 +2763,19 @@ func rewriteValueMIPS64_OpLsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -2793,15 +2793,15 @@ func rewriteValueMIPS64_OpLsh16x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v3.AddArg(x)
                v3.AddArg(y)
                v.AddArg(v3)
@@ -2819,19 +2819,19 @@ func rewriteValueMIPS64_OpLsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -2849,19 +2849,19 @@ func rewriteValueMIPS64_OpLsh32x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -2879,19 +2879,19 @@ func rewriteValueMIPS64_OpLsh32x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -2909,15 +2909,15 @@ func rewriteValueMIPS64_OpLsh32x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v3.AddArg(x)
                v3.AddArg(y)
                v.AddArg(v3)
@@ -2935,19 +2935,19 @@ func rewriteValueMIPS64_OpLsh32x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -2965,19 +2965,19 @@ func rewriteValueMIPS64_OpLsh64x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -2995,19 +2995,19 @@ func rewriteValueMIPS64_OpLsh64x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -3025,15 +3025,15 @@ func rewriteValueMIPS64_OpLsh64x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v3.AddArg(x)
                v3.AddArg(y)
                v.AddArg(v3)
@@ -3051,19 +3051,19 @@ func rewriteValueMIPS64_OpLsh64x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -3081,19 +3081,19 @@ func rewriteValueMIPS64_OpLsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -3111,19 +3111,19 @@ func rewriteValueMIPS64_OpLsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -3141,15 +3141,15 @@ func rewriteValueMIPS64_OpLsh8x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v3.AddArg(x)
                v3.AddArg(y)
                v.AddArg(v3)
@@ -3167,19 +3167,19 @@ func rewriteValueMIPS64_OpLsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SLLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -6285,11 +6285,11 @@ func rewriteValueMIPS64_OpMod16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
-               v1 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v1 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6306,11 +6306,11 @@ func rewriteValueMIPS64_OpMod16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
-               v1 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6327,11 +6327,11 @@ func rewriteValueMIPS64_OpMod32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
-               v1 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v1 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6348,11 +6348,11 @@ func rewriteValueMIPS64_OpMod32u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6369,7 +6369,7 @@ func rewriteValueMIPS64_OpMod64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -6386,7 +6386,7 @@ func rewriteValueMIPS64_OpMod64u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -6403,11 +6403,11 @@ func rewriteValueMIPS64_OpMod8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
-               v1 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVV, MakeTuple(config.fe.TypeInt64(), config.fe.TypeInt64()))
+               v1 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6424,11 +6424,11 @@ func rewriteValueMIPS64_OpMod8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect0)
-               v0 := b.NewValue0(v.Line, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64DIVVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -6465,7 +6465,7 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMIPS64MOVBstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -6485,7 +6485,7 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMIPS64MOVHstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -6506,14 +6506,14 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 1
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v0.AuxInt = 1
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -6534,7 +6534,7 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMIPS64MOVWstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVWload, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVWload, config.fe.TypeInt32())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -6555,14 +6555,14 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -6584,30 +6584,30 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 3
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v0.AuxInt = 3
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v2.AuxInt = 2
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v3.AuxInt = 1
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v4.AuxInt = 1
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v5.AddArg(dst)
-               v6 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v6 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v6.AddArg(src)
                v6.AddArg(mem)
                v5.AddArg(v6)
@@ -6630,7 +6630,7 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpMIPS64MOVVstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVload, config.fe.TypeUInt64())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -6651,14 +6651,14 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVWstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVWload, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVWload, config.fe.TypeInt32())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVWload, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVWload, config.fe.TypeInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -6680,30 +6680,30 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = 6
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v0.AuxInt = 6
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v2.AuxInt = 4
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v3.AuxInt = 2
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v4.AuxInt = 2
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v5.AddArg(dst)
-               v6 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v6 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v6.AddArg(src)
                v6.AddArg(mem)
                v5.AddArg(v6)
@@ -6727,22 +6727,22 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v1.AuxInt = 1
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v2.AuxInt = 1
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVBload, config.fe.TypeInt8())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVBload, config.fe.TypeInt8())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -6765,22 +6765,22 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v2.AuxInt = 2
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVHload, config.fe.TypeInt16())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVHload, config.fe.TypeInt16())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -6803,22 +6803,22 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVWstore)
                v.AuxInt = 8
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVWload, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVWload, config.fe.TypeInt32())
                v0.AuxInt = 8
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVWload, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVWload, config.fe.TypeInt32())
                v2.AuxInt = 4
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVWstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVWload, config.fe.TypeInt32())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVWload, config.fe.TypeInt32())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -6841,14 +6841,14 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVVstore)
                v.AuxInt = 8
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVload, config.fe.TypeUInt64())
                v0.AuxInt = 8
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVVstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVload, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVload, config.fe.TypeUInt64())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -6870,22 +6870,22 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVVstore)
                v.AuxInt = 16
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVload, config.fe.TypeUInt64())
                v0.AuxInt = 16
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVVstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, TypeMem)
                v1.AuxInt = 8
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVload, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVload, config.fe.TypeUInt64())
                v2.AuxInt = 8
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVVstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVVload, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVVload, config.fe.TypeUInt64())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -6909,7 +6909,7 @@ func rewriteValueMIPS64_OpMove(v *Value, config *Config) bool {
                v.AuxInt = SizeAndAlign(s).Align()
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpMIPS64ADDVconst, src.Type)
+               v0 := b.NewValue0(v.Pos, OpMIPS64ADDVconst, src.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(src)
                v.AddArg(v0)
@@ -6928,7 +6928,7 @@ func rewriteValueMIPS64_OpMul16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -6945,7 +6945,7 @@ func rewriteValueMIPS64_OpMul32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -6977,7 +6977,7 @@ func rewriteValueMIPS64_OpMul64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -7009,7 +7009,7 @@ func rewriteValueMIPS64_OpMul8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpSelect1)
-               v0 := b.NewValue0(v.Line, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
+               v0 := b.NewValue0(v.Pos, OpMIPS64MULVU, MakeTuple(config.fe.TypeUInt64(), config.fe.TypeUInt64()))
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -7104,15 +7104,15 @@ func rewriteValueMIPS64_OpNeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v3.AuxInt = 0
                v.AddArg(v3)
                return true
@@ -7128,15 +7128,15 @@ func rewriteValueMIPS64_OpNeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
-               v1 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v3.AuxInt = 0
                v.AddArg(v3)
                return true
@@ -7152,7 +7152,7 @@ func rewriteValueMIPS64_OpNeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagFalse)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPEQF, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQF, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -7169,11 +7169,11 @@ func rewriteValueMIPS64_OpNeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v1.AuxInt = 0
                v.AddArg(v1)
                return true
@@ -7189,7 +7189,7 @@ func rewriteValueMIPS64_OpNeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64FPFlagFalse)
-               v0 := b.NewValue0(v.Line, OpMIPS64CMPEQD, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpMIPS64CMPEQD, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -7206,15 +7206,15 @@ func rewriteValueMIPS64_OpNeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v3.AuxInt = 0
                v.AddArg(v3)
                return true
@@ -7245,11 +7245,11 @@ func rewriteValueMIPS64_OpNeqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SGTU)
-               v0 := b.NewValue0(v.Line, OpMIPS64XOR, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64XOR, config.fe.TypeUInt64())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v1.AuxInt = 0
                v.AddArg(v1)
                return true
@@ -7399,21 +7399,21 @@ func rewriteValueMIPS64_OpRsh16Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v4.AddArg(v6)
                v.AddArg(v4)
@@ -7431,21 +7431,21 @@ func rewriteValueMIPS64_OpRsh16Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v4.AddArg(v6)
                v.AddArg(v4)
@@ -7463,16 +7463,16 @@ func rewriteValueMIPS64_OpRsh16Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(x)
                v3.AddArg(v4)
                v3.AddArg(y)
@@ -7491,21 +7491,21 @@ func rewriteValueMIPS64_OpRsh16Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v4.AddArg(v6)
                v.AddArg(v4)
@@ -7523,21 +7523,21 @@ func rewriteValueMIPS64_OpRsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v5.AuxInt = 63
                v3.AddArg(v5)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v6 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v1.AddArg(v6)
                v.AddArg(v1)
@@ -7555,21 +7555,21 @@ func rewriteValueMIPS64_OpRsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v5.AuxInt = 63
                v3.AddArg(v5)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v6 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v1.AddArg(v6)
                v.AddArg(v1)
@@ -7587,14 +7587,14 @@ func rewriteValueMIPS64_OpRsh16x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
                v3.AddArg(y)
-               v4 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v4.AuxInt = 63
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -7615,21 +7615,21 @@ func rewriteValueMIPS64_OpRsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt16to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v5.AuxInt = 63
                v3.AddArg(v5)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v6 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v1.AddArg(v6)
                v.AddArg(v1)
@@ -7647,21 +7647,21 @@ func rewriteValueMIPS64_OpRsh32Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v4.AddArg(v6)
                v.AddArg(v4)
@@ -7679,21 +7679,21 @@ func rewriteValueMIPS64_OpRsh32Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v4.AddArg(v6)
                v.AddArg(v4)
@@ -7711,16 +7711,16 @@ func rewriteValueMIPS64_OpRsh32Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(x)
                v3.AddArg(v4)
                v3.AddArg(y)
@@ -7739,21 +7739,21 @@ func rewriteValueMIPS64_OpRsh32Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v4.AddArg(v6)
                v.AddArg(v4)
@@ -7771,21 +7771,21 @@ func rewriteValueMIPS64_OpRsh32x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v5.AuxInt = 63
                v3.AddArg(v5)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v6 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v1.AddArg(v6)
                v.AddArg(v1)
@@ -7803,21 +7803,21 @@ func rewriteValueMIPS64_OpRsh32x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v5.AuxInt = 63
                v3.AddArg(v5)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v6 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v1.AddArg(v6)
                v.AddArg(v1)
@@ -7835,14 +7835,14 @@ func rewriteValueMIPS64_OpRsh32x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
                v3.AddArg(y)
-               v4 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v4.AuxInt = 63
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -7863,21 +7863,21 @@ func rewriteValueMIPS64_OpRsh32x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v5.AuxInt = 63
                v3.AddArg(v5)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v6 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v1.AddArg(v6)
                v.AddArg(v1)
@@ -7895,19 +7895,19 @@ func rewriteValueMIPS64_OpRsh64Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -7925,19 +7925,19 @@ func rewriteValueMIPS64_OpRsh64Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -7955,15 +7955,15 @@ func rewriteValueMIPS64_OpRsh64Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
                v3.AddArg(x)
                v3.AddArg(y)
                v.AddArg(v3)
@@ -7981,19 +7981,19 @@ func rewriteValueMIPS64_OpRsh64Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -8012,18 +8012,18 @@ func rewriteValueMIPS64_OpRsh64x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v4.AuxInt = 63
                v2.AddArg(v4)
                v1.AddArg(v2)
                v0.AddArg(v1)
-               v5 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v0.AddArg(v5)
                v.AddArg(v0)
@@ -8042,18 +8042,18 @@ func rewriteValueMIPS64_OpRsh64x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v4.AuxInt = 63
                v2.AddArg(v4)
                v1.AddArg(v2)
                v0.AddArg(v1)
-               v5 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v0.AddArg(v5)
                v.AddArg(v0)
@@ -8072,11 +8072,11 @@ func rewriteValueMIPS64_OpRsh64x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
                v2.AddArg(y)
-               v3 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v3.AuxInt = 63
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8098,18 +8098,18 @@ func rewriteValueMIPS64_OpRsh64x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v4.AuxInt = 63
                v2.AddArg(v4)
                v1.AddArg(v2)
                v0.AddArg(v1)
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(y)
                v0.AddArg(v5)
                v.AddArg(v0)
@@ -8127,21 +8127,21 @@ func rewriteValueMIPS64_OpRsh8Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v4.AddArg(v6)
                v.AddArg(v4)
@@ -8159,21 +8159,21 @@ func rewriteValueMIPS64_OpRsh8Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v4.AddArg(v6)
                v.AddArg(v4)
@@ -8191,16 +8191,16 @@ func rewriteValueMIPS64_OpRsh8Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
                v1.AddArg(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(x)
                v3.AddArg(v4)
                v3.AddArg(y)
@@ -8219,21 +8219,21 @@ func rewriteValueMIPS64_OpRsh8Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64AND)
-               v0 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v1 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v2.AuxInt = 64
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpMIPS64SRLV, t)
-               v5 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
+               v5 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v4.AddArg(v6)
                v.AddArg(v4)
@@ -8251,21 +8251,21 @@ func rewriteValueMIPS64_OpRsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v5.AuxInt = 63
                v3.AddArg(v5)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v6 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v1.AddArg(v6)
                v.AddArg(v1)
@@ -8283,21 +8283,21 @@ func rewriteValueMIPS64_OpRsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v5.AuxInt = 63
                v3.AddArg(v5)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v6 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v1.AddArg(v6)
                v.AddArg(v1)
@@ -8315,14 +8315,14 @@ func rewriteValueMIPS64_OpRsh8x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
                v3.AddArg(y)
-               v4 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v4.AuxInt = 63
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -8343,21 +8343,21 @@ func rewriteValueMIPS64_OpRsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMIPS64SRAV)
-               v0 := b.NewValue0(v.Line, OpSignExt8to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to64, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64OR, t)
-               v2 := b.NewValue0(v.Line, OpMIPS64NEGV, t)
-               v3 := b.NewValue0(v.Line, OpMIPS64SGTU, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpMIPS64OR, t)
+               v2 := b.NewValue0(v.Pos, OpMIPS64NEGV, t)
+               v3 := b.NewValue0(v.Pos, OpMIPS64SGTU, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v5.AuxInt = 63
                v3.AddArg(v5)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v6 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v6.AddArg(y)
                v1.AddArg(v6)
                v.AddArg(v1)
@@ -8821,9 +8821,9 @@ func rewriteValueMIPS64_OpSlicemask(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpMIPS64NORconst)
                v.AuxInt = 0
-               v0 := b.NewValue0(v.Line, OpMIPS64SRAVconst, t)
+               v0 := b.NewValue0(v.Pos, OpMIPS64SRAVconst, t)
                v0.AuxInt = 63
-               v1 := b.NewValue0(v.Line, OpMIPS64SUBVconst, t)
+               v1 := b.NewValue0(v.Pos, OpMIPS64SUBVconst, t)
                v1.AuxInt = 1
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -9239,7 +9239,7 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpMIPS64MOVBstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -9257,7 +9257,7 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpMIPS64MOVHstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -9276,13 +9276,13 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 1
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -9301,7 +9301,7 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpMIPS64MOVWstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -9320,13 +9320,13 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = 2
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -9346,25 +9346,25 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 3
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v3.AuxInt = 1
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v4.AuxInt = 0
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v5.AuxInt = 0
                v5.AddArg(ptr)
-               v6 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v6.AuxInt = 0
                v5.AddArg(v6)
                v5.AddArg(mem)
@@ -9385,7 +9385,7 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                }
                v.reset(OpMIPS64MOVVstore)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(mem)
@@ -9404,13 +9404,13 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVWstore)
                v.AuxInt = 4
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -9430,25 +9430,25 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = 6
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v3.AuxInt = 2
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v4.AuxInt = 0
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v5.AuxInt = 0
                v5.AddArg(ptr)
-               v6 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v6 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v6.AuxInt = 0
                v5.AddArg(v6)
                v5.AddArg(mem)
@@ -9470,19 +9470,19 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVBstore)
                v.AuxInt = 2
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v1.AuxInt = 1
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, TypeMem)
                v3.AuxInt = 0
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -9503,19 +9503,19 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVHstore)
                v.AuxInt = 4
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVHstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, TypeMem)
                v3.AuxInt = 0
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -9536,19 +9536,19 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVWstore)
                v.AuxInt = 8
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVWstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, TypeMem)
                v3.AuxInt = 0
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -9569,13 +9569,13 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVVstore)
                v.AuxInt = 8
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVVstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
                v1.AddArg(mem)
@@ -9595,19 +9595,19 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64MOVVstore)
                v.AuxInt = 16
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMIPS64MOVVstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, TypeMem)
                v1.AuxInt = 8
                v1.AddArg(ptr)
-               v2 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v2.AuxInt = 0
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpMIPS64MOVVstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, TypeMem)
                v3.AuxInt = 0
                v3.AddArg(ptr)
-               v4 := b.NewValue0(v.Line, OpMIPS64MOVVconst, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, config.fe.TypeUInt64())
                v4.AuxInt = 0
                v3.AddArg(v4)
                v3.AddArg(mem)
@@ -9644,7 +9644,7 @@ func rewriteValueMIPS64_OpZero(v *Value, config *Config) bool {
                v.reset(OpMIPS64LoweredZero)
                v.AuxInt = SizeAndAlign(s).Align()
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMIPS64ADDVconst, ptr.Type)
+               v0 := b.NewValue0(v.Pos, OpMIPS64ADDVconst, ptr.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(ptr)
                v.AddArg(v0)
index 8c8373b8aa019b24057184c631d733b70ce6168d..dfae789210a56b5ccc6f8432f109545c33dd6026 100644 (file)
@@ -777,23 +777,23 @@ func rewriteValuePPC64_OpAvg64u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64ADD)
-               v0 := b.NewValue0(v.Line, OpPPC64ADD, t)
-               v1 := b.NewValue0(v.Line, OpPPC64SRD, t)
+               v0 := b.NewValue0(v.Pos, OpPPC64ADD, t)
+               v1 := b.NewValue0(v.Pos, OpPPC64SRD, t)
                v1.AddArg(x)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVDconst, t)
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVDconst, t)
                v2.AuxInt = 1
                v1.AddArg(v2)
                v0.AddArg(v1)
-               v3 := b.NewValue0(v.Line, OpPPC64SRD, t)
+               v3 := b.NewValue0(v.Pos, OpPPC64SRD, t)
                v3.AddArg(y)
-               v4 := b.NewValue0(v.Line, OpPPC64MOVDconst, t)
+               v4 := b.NewValue0(v.Pos, OpPPC64MOVDconst, t)
                v4.AuxInt = 1
                v3.AddArg(v4)
                v0.AddArg(v3)
                v.AddArg(v0)
-               v5 := b.NewValue0(v.Line, OpPPC64ANDconst, t)
+               v5 := b.NewValue0(v.Pos, OpPPC64ANDconst, t)
                v5.AuxInt = 1
-               v6 := b.NewValue0(v.Line, OpPPC64AND, t)
+               v6 := b.NewValue0(v.Pos, OpPPC64AND, t)
                v6.AddArg(x)
                v6.AddArg(y)
                v5.AddArg(v6)
@@ -1005,7 +1005,7 @@ func rewriteValuePPC64_OpCvt32Fto32(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpPPC64Xf2i64)
-               v0 := b.NewValue0(v.Line, OpPPC64FCTIWZ, config.fe.TypeFloat64())
+               v0 := b.NewValue0(v.Pos, OpPPC64FCTIWZ, config.fe.TypeFloat64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -1020,7 +1020,7 @@ func rewriteValuePPC64_OpCvt32Fto64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpPPC64Xf2i64)
-               v0 := b.NewValue0(v.Line, OpPPC64FCTIDZ, config.fe.TypeFloat64())
+               v0 := b.NewValue0(v.Pos, OpPPC64FCTIDZ, config.fe.TypeFloat64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -1049,9 +1049,9 @@ func rewriteValuePPC64_OpCvt32to32F(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpPPC64FRSP)
-               v0 := b.NewValue0(v.Line, OpPPC64FCFID, config.fe.TypeFloat64())
-               v1 := b.NewValue0(v.Line, OpPPC64Xi2f64, config.fe.TypeFloat64())
-               v2 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64FCFID, config.fe.TypeFloat64())
+               v1 := b.NewValue0(v.Pos, OpPPC64Xi2f64, config.fe.TypeFloat64())
+               v2 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v2.AddArg(x)
                v1.AddArg(v2)
                v0.AddArg(v1)
@@ -1068,8 +1068,8 @@ func rewriteValuePPC64_OpCvt32to64F(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpPPC64FCFID)
-               v0 := b.NewValue0(v.Line, OpPPC64Xi2f64, config.fe.TypeFloat64())
-               v1 := b.NewValue0(v.Line, OpSignExt32to64, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64Xi2f64, config.fe.TypeFloat64())
+               v1 := b.NewValue0(v.Pos, OpSignExt32to64, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v.AddArg(v0)
@@ -1085,7 +1085,7 @@ func rewriteValuePPC64_OpCvt64Fto32(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpPPC64Xf2i64)
-               v0 := b.NewValue0(v.Line, OpPPC64FCTIWZ, config.fe.TypeFloat64())
+               v0 := b.NewValue0(v.Pos, OpPPC64FCTIWZ, config.fe.TypeFloat64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -1113,7 +1113,7 @@ func rewriteValuePPC64_OpCvt64Fto64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpPPC64Xf2i64)
-               v0 := b.NewValue0(v.Line, OpPPC64FCTIDZ, config.fe.TypeFloat64())
+               v0 := b.NewValue0(v.Pos, OpPPC64FCTIDZ, config.fe.TypeFloat64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -1128,8 +1128,8 @@ func rewriteValuePPC64_OpCvt64to32F(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpPPC64FRSP)
-               v0 := b.NewValue0(v.Line, OpPPC64FCFID, config.fe.TypeFloat64())
-               v1 := b.NewValue0(v.Line, OpPPC64Xi2f64, config.fe.TypeFloat64())
+               v0 := b.NewValue0(v.Pos, OpPPC64FCFID, config.fe.TypeFloat64())
+               v1 := b.NewValue0(v.Pos, OpPPC64Xi2f64, config.fe.TypeFloat64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v.AddArg(v0)
@@ -1145,7 +1145,7 @@ func rewriteValuePPC64_OpCvt64to64F(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpPPC64FCFID)
-               v0 := b.NewValue0(v.Line, OpPPC64Xi2f64, config.fe.TypeFloat64())
+               v0 := b.NewValue0(v.Pos, OpPPC64Xi2f64, config.fe.TypeFloat64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -1176,10 +1176,10 @@ func rewriteValuePPC64_OpDiv16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64DIVW)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1195,10 +1195,10 @@ func rewriteValuePPC64_OpDiv16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64DIVWU)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1304,10 +1304,10 @@ func rewriteValuePPC64_OpDiv8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64DIVW)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1323,10 +1323,10 @@ func rewriteValuePPC64_OpDiv8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64DIVWU)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1345,11 +1345,11 @@ func rewriteValuePPC64_OpEq16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpPPC64Equal)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1362,11 +1362,11 @@ func rewriteValuePPC64_OpEq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64Equal)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1383,7 +1383,7 @@ func rewriteValuePPC64_OpEq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64Equal)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1400,7 +1400,7 @@ func rewriteValuePPC64_OpEq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64Equal)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1417,7 +1417,7 @@ func rewriteValuePPC64_OpEq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64Equal)
-               v0 := b.NewValue0(v.Line, OpPPC64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1434,7 +1434,7 @@ func rewriteValuePPC64_OpEq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64Equal)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1454,11 +1454,11 @@ func rewriteValuePPC64_OpEq8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpPPC64Equal)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1471,11 +1471,11 @@ func rewriteValuePPC64_OpEq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64Equal)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1493,7 +1493,7 @@ func rewriteValuePPC64_OpEqB(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64ANDconst)
                v.AuxInt = 1
-               v0 := b.NewValue0(v.Line, OpPPC64EQV, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64EQV, config.fe.TypeInt64())
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1510,7 +1510,7 @@ func rewriteValuePPC64_OpEqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64Equal)
-               v0 := b.NewValue0(v.Line, OpPPC64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1527,11 +1527,11 @@ func rewriteValuePPC64_OpGeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1548,11 +1548,11 @@ func rewriteValuePPC64_OpGeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPU, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPU, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1569,7 +1569,7 @@ func rewriteValuePPC64_OpGeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1586,7 +1586,7 @@ func rewriteValuePPC64_OpGeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64FGreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1603,7 +1603,7 @@ func rewriteValuePPC64_OpGeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1620,7 +1620,7 @@ func rewriteValuePPC64_OpGeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1637,7 +1637,7 @@ func rewriteValuePPC64_OpGeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64FGreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1654,7 +1654,7 @@ func rewriteValuePPC64_OpGeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1671,11 +1671,11 @@ func rewriteValuePPC64_OpGeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1692,11 +1692,11 @@ func rewriteValuePPC64_OpGeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPU, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPU, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1739,11 +1739,11 @@ func rewriteValuePPC64_OpGreater16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1760,11 +1760,11 @@ func rewriteValuePPC64_OpGreater16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWU, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1781,7 +1781,7 @@ func rewriteValuePPC64_OpGreater32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1798,7 +1798,7 @@ func rewriteValuePPC64_OpGreater32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64FGreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1815,7 +1815,7 @@ func rewriteValuePPC64_OpGreater32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1832,7 +1832,7 @@ func rewriteValuePPC64_OpGreater64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1849,7 +1849,7 @@ func rewriteValuePPC64_OpGreater64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64FGreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1866,7 +1866,7 @@ func rewriteValuePPC64_OpGreater64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -1883,11 +1883,11 @@ func rewriteValuePPC64_OpGreater8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1904,11 +1904,11 @@ func rewriteValuePPC64_OpGreater8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64GreaterThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWU, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1926,11 +1926,11 @@ func rewriteValuePPC64_OpHmul16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpPPC64MULLW, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64MULLW, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -1948,11 +1948,11 @@ func rewriteValuePPC64_OpHmul16u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRWconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpPPC64MULLW, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64MULLW, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2030,11 +2030,11 @@ func rewriteValuePPC64_OpHmul8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpPPC64MULLW, config.fe.TypeInt16())
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64MULLW, config.fe.TypeInt16())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2052,11 +2052,11 @@ func rewriteValuePPC64_OpHmul8u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRWconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpPPC64MULLW, config.fe.TypeUInt16())
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64MULLW, config.fe.TypeUInt16())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2090,7 +2090,7 @@ func rewriteValuePPC64_OpIsInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpPPC64LessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPU, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -2106,7 +2106,7 @@ func rewriteValuePPC64_OpIsNonNil(v *Value, config *Config) bool {
        for {
                ptr := v.Args[0]
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPconst, TypeFlags)
                v0.AuxInt = 0
                v0.AddArg(ptr)
                v.AddArg(v0)
@@ -2123,7 +2123,7 @@ func rewriteValuePPC64_OpIsSliceInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpPPC64LessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPU, TypeFlags)
                v0.AddArg(idx)
                v0.AddArg(len)
                v.AddArg(v0)
@@ -2140,11 +2140,11 @@ func rewriteValuePPC64_OpLeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2161,11 +2161,11 @@ func rewriteValuePPC64_OpLeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWU, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2182,7 +2182,7 @@ func rewriteValuePPC64_OpLeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2199,7 +2199,7 @@ func rewriteValuePPC64_OpLeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64FLessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2216,7 +2216,7 @@ func rewriteValuePPC64_OpLeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2233,7 +2233,7 @@ func rewriteValuePPC64_OpLeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2250,7 +2250,7 @@ func rewriteValuePPC64_OpLeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64FLessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2267,7 +2267,7 @@ func rewriteValuePPC64_OpLeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2284,11 +2284,11 @@ func rewriteValuePPC64_OpLeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2305,11 +2305,11 @@ func rewriteValuePPC64_OpLeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWU, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2326,11 +2326,11 @@ func rewriteValuePPC64_OpLess16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2347,11 +2347,11 @@ func rewriteValuePPC64_OpLess16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWU, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2368,7 +2368,7 @@ func rewriteValuePPC64_OpLess32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2385,7 +2385,7 @@ func rewriteValuePPC64_OpLess32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64FLessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2402,7 +2402,7 @@ func rewriteValuePPC64_OpLess32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2419,7 +2419,7 @@ func rewriteValuePPC64_OpLess64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2436,7 +2436,7 @@ func rewriteValuePPC64_OpLess64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64FLessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2453,7 +2453,7 @@ func rewriteValuePPC64_OpLess64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -2470,11 +2470,11 @@ func rewriteValuePPC64_OpLess8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2491,11 +2491,11 @@ func rewriteValuePPC64_OpLess8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64LessThan)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWU, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2606,7 +2606,7 @@ func rewriteValuePPC64_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpPPC64MOVBreg)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -2670,12 +2670,12 @@ func rewriteValuePPC64_OpLsh16x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -16
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -2731,12 +2731,12 @@ func rewriteValuePPC64_OpLsh16x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -16
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -2808,10 +2808,10 @@ func rewriteValuePPC64_OpLsh16x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -16
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -2831,12 +2831,12 @@ func rewriteValuePPC64_OpLsh16x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -16
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -2856,12 +2856,12 @@ func rewriteValuePPC64_OpLsh32x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -2917,12 +2917,12 @@ func rewriteValuePPC64_OpLsh32x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -2994,10 +2994,10 @@ func rewriteValuePPC64_OpLsh32x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3017,12 +3017,12 @@ func rewriteValuePPC64_OpLsh32x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3042,12 +3042,12 @@ func rewriteValuePPC64_OpLsh64x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3103,12 +3103,12 @@ func rewriteValuePPC64_OpLsh64x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3180,10 +3180,10 @@ func rewriteValuePPC64_OpLsh64x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3203,12 +3203,12 @@ func rewriteValuePPC64_OpLsh64x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3228,12 +3228,12 @@ func rewriteValuePPC64_OpLsh8x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -8
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3289,12 +3289,12 @@ func rewriteValuePPC64_OpLsh8x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -8
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3366,10 +3366,10 @@ func rewriteValuePPC64_OpLsh8x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -8
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3389,12 +3389,12 @@ func rewriteValuePPC64_OpLsh8x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SLW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -8
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3413,10 +3413,10 @@ func rewriteValuePPC64_OpMod16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMod32)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -3432,10 +3432,10 @@ func rewriteValuePPC64_OpMod16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMod32u)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -3452,9 +3452,9 @@ func rewriteValuePPC64_OpMod32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64MULLW, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64MULLW, config.fe.TypeInt32())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64DIVW, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpPPC64DIVW, config.fe.TypeInt32())
                v1.AddArg(x)
                v1.AddArg(y)
                v0.AddArg(v1)
@@ -3473,9 +3473,9 @@ func rewriteValuePPC64_OpMod32u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64MULLW, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64MULLW, config.fe.TypeInt32())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64DIVWU, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpPPC64DIVWU, config.fe.TypeInt32())
                v1.AddArg(x)
                v1.AddArg(y)
                v0.AddArg(v1)
@@ -3494,9 +3494,9 @@ func rewriteValuePPC64_OpMod64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64MULLD, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64MULLD, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64DIVD, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64DIVD, config.fe.TypeInt64())
                v1.AddArg(x)
                v1.AddArg(y)
                v0.AddArg(v1)
@@ -3515,9 +3515,9 @@ func rewriteValuePPC64_OpMod64u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SUB)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64MULLD, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64MULLD, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64DIVDU, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64DIVDU, config.fe.TypeInt64())
                v1.AddArg(x)
                v1.AddArg(y)
                v0.AddArg(v1)
@@ -3535,10 +3535,10 @@ func rewriteValuePPC64_OpMod8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMod32)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -3554,10 +3554,10 @@ func rewriteValuePPC64_OpMod8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpMod32u)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -3593,7 +3593,7 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64MOVBstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -3613,7 +3613,7 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64MOVHstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVHZload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVHZload, config.fe.TypeUInt16())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -3634,14 +3634,14 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = 1
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v0.AuxInt = 1
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVBstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -3662,7 +3662,7 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64MOVWstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVWload, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVWload, config.fe.TypeInt32())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -3683,14 +3683,14 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVHstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVHZload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVHZload, config.fe.TypeUInt16())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVHstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVHZload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVHZload, config.fe.TypeUInt16())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -3712,30 +3712,30 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = 3
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v0.AuxInt = 3
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVBstore, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v2.AuxInt = 2
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpPPC64MOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpPPC64MOVBstore, TypeMem)
                v3.AuxInt = 1
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v4 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v4.AuxInt = 1
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpPPC64MOVBstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpPPC64MOVBstore, TypeMem)
                v5.AddArg(dst)
-               v6 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v6 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v6.AddArg(src)
                v6.AddArg(mem)
                v5.AddArg(v6)
@@ -3758,7 +3758,7 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64MOVDstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVDload, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVDload, config.fe.TypeInt64())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -3779,14 +3779,14 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVWstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVWZload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVWZload, config.fe.TypeUInt32())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVWstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVWZload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVWZload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -3808,30 +3808,30 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVHstore)
                v.AuxInt = 6
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVHZload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVHZload, config.fe.TypeUInt16())
                v0.AuxInt = 6
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVHstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVHZload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVHZload, config.fe.TypeUInt16())
                v2.AuxInt = 4
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpPPC64MOVHstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpPPC64MOVHstore, TypeMem)
                v3.AuxInt = 2
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpPPC64MOVHZload, config.fe.TypeUInt16())
+               v4 := b.NewValue0(v.Pos, OpPPC64MOVHZload, config.fe.TypeUInt16())
                v4.AuxInt = 2
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpPPC64MOVHstore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpPPC64MOVHstore, TypeMem)
                v5.AddArg(dst)
-               v6 := b.NewValue0(v.Line, OpPPC64MOVHZload, config.fe.TypeUInt16())
+               v6 := b.NewValue0(v.Pos, OpPPC64MOVHZload, config.fe.TypeUInt16())
                v6.AddArg(src)
                v6.AddArg(mem)
                v5.AddArg(v6)
@@ -3855,22 +3855,22 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVBstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVBstore, TypeMem)
                v1.AuxInt = 1
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v2.AuxInt = 1
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpPPC64MOVBstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpPPC64MOVBstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpPPC64MOVBZload, config.fe.TypeUInt8())
+               v4 := b.NewValue0(v.Pos, OpPPC64MOVBZload, config.fe.TypeUInt8())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -3894,7 +3894,7 @@ func rewriteValuePPC64_OpMove(v *Value, config *Config) bool {
                v.AuxInt = SizeAndAlign(s).Align()
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpPPC64ADDconst, src.Type)
+               v0 := b.NewValue0(v.Pos, OpPPC64ADDconst, src.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(src)
                v.AddArg(v0)
@@ -4084,11 +4084,11 @@ func rewriteValuePPC64_OpNeq16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -4101,11 +4101,11 @@ func rewriteValuePPC64_OpNeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -4122,7 +4122,7 @@ func rewriteValuePPC64_OpNeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -4139,7 +4139,7 @@ func rewriteValuePPC64_OpNeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -4156,7 +4156,7 @@ func rewriteValuePPC64_OpNeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -4173,7 +4173,7 @@ func rewriteValuePPC64_OpNeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64FCMPU, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -4193,11 +4193,11 @@ func rewriteValuePPC64_OpNeq8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v2 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -4210,11 +4210,11 @@ func rewriteValuePPC64_OpNeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPW, TypeFlags)
-               v1 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPW, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -4246,7 +4246,7 @@ func rewriteValuePPC64_OpNeqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64NotEqual)
-               v0 := b.NewValue0(v.Line, OpPPC64CMP, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMP, TypeFlags)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
@@ -4292,7 +4292,7 @@ func rewriteValuePPC64_OpOffPtr(v *Value, config *Config) bool {
                off := v.AuxInt
                ptr := v.Args[0]
                v.reset(OpPPC64ADD)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVDconst, config.Frontend().TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVDconst, config.Frontend().TypeInt64())
                v0.AuxInt = off
                v.AddArg(v0)
                v.AddArg(ptr)
@@ -4759,7 +4759,7 @@ func rewriteValuePPC64_OpPPC64CMP(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpPPC64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(y)
                v.AddArg(v0)
@@ -4802,7 +4802,7 @@ func rewriteValuePPC64_OpPPC64CMPU(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpPPC64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPUconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPUconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(y)
                v.AddArg(v0)
@@ -4928,7 +4928,7 @@ func rewriteValuePPC64_OpPPC64CMPW(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpPPC64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(y)
                v.AddArg(v0)
@@ -5001,7 +5001,7 @@ func rewriteValuePPC64_OpPPC64CMPWU(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpPPC64InvertFlags)
-               v0 := b.NewValue0(v.Line, OpPPC64CMPWUconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpPPC64CMPWUconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(y)
                v.AddArg(v0)
@@ -7447,15 +7447,15 @@ func rewriteValuePPC64_OpRsh16Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRW)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -16
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -7482,7 +7482,7 @@ func rewriteValuePPC64_OpRsh16Ux32(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -7502,7 +7502,7 @@ func rewriteValuePPC64_OpRsh16Ux32(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -7514,15 +7514,15 @@ func rewriteValuePPC64_OpRsh16Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRW)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -16
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -7549,7 +7549,7 @@ func rewriteValuePPC64_OpRsh16Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -7585,7 +7585,7 @@ func rewriteValuePPC64_OpRsh16Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -7597,13 +7597,13 @@ func rewriteValuePPC64_OpRsh16Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRW)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -16
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -7622,15 +7622,15 @@ func rewriteValuePPC64_OpRsh16Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRW)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -16
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -7649,15 +7649,15 @@ func rewriteValuePPC64_OpRsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -16
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -7684,7 +7684,7 @@ func rewriteValuePPC64_OpRsh16x32(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -7704,7 +7704,7 @@ func rewriteValuePPC64_OpRsh16x32(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -7716,15 +7716,15 @@ func rewriteValuePPC64_OpRsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -16
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -7751,7 +7751,7 @@ func rewriteValuePPC64_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -7771,7 +7771,7 @@ func rewriteValuePPC64_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = 63
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -7791,7 +7791,7 @@ func rewriteValuePPC64_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -7803,13 +7803,13 @@ func rewriteValuePPC64_OpRsh16x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -16
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -7828,15 +7828,15 @@ func rewriteValuePPC64_OpRsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -16
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -7856,12 +7856,12 @@ func rewriteValuePPC64_OpRsh32Ux16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -7917,12 +7917,12 @@ func rewriteValuePPC64_OpRsh32Ux32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -7994,10 +7994,10 @@ func rewriteValuePPC64_OpRsh32Ux64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -8017,12 +8017,12 @@ func rewriteValuePPC64_OpRsh32Ux8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8042,12 +8042,12 @@ func rewriteValuePPC64_OpRsh32x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8103,12 +8103,12 @@ func rewriteValuePPC64_OpRsh32x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8182,10 +8182,10 @@ func rewriteValuePPC64_OpRsh32x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -8205,12 +8205,12 @@ func rewriteValuePPC64_OpRsh32x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -32
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8230,12 +8230,12 @@ func rewriteValuePPC64_OpRsh64Ux16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8291,12 +8291,12 @@ func rewriteValuePPC64_OpRsh64Ux32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8368,10 +8368,10 @@ func rewriteValuePPC64_OpRsh64Ux64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -8391,12 +8391,12 @@ func rewriteValuePPC64_OpRsh64Ux8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8416,12 +8416,12 @@ func rewriteValuePPC64_OpRsh64x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
-               v3 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8477,12 +8477,12 @@ func rewriteValuePPC64_OpRsh64x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
-               v3 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8556,10 +8556,10 @@ func rewriteValuePPC64_OpRsh64x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -8579,12 +8579,12 @@ func rewriteValuePPC64_OpRsh64x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpPPC64SRAD)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v2 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v2.AuxInt = -64
-               v3 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -8603,15 +8603,15 @@ func rewriteValuePPC64_OpRsh8Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRW)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -8
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -8638,7 +8638,7 @@ func rewriteValuePPC64_OpRsh8Ux32(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -8658,7 +8658,7 @@ func rewriteValuePPC64_OpRsh8Ux32(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -8670,15 +8670,15 @@ func rewriteValuePPC64_OpRsh8Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRW)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -8
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -8705,7 +8705,7 @@ func rewriteValuePPC64_OpRsh8Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -8741,7 +8741,7 @@ func rewriteValuePPC64_OpRsh8Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -8753,13 +8753,13 @@ func rewriteValuePPC64_OpRsh8Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRW)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -8
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -8778,15 +8778,15 @@ func rewriteValuePPC64_OpRsh8Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRW)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -8
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -8805,15 +8805,15 @@ func rewriteValuePPC64_OpRsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -8
-               v4 := b.NewValue0(v.Line, OpZeroExt16to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt16to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -8840,7 +8840,7 @@ func rewriteValuePPC64_OpRsh8x32(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -8860,7 +8860,7 @@ func rewriteValuePPC64_OpRsh8x32(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -8872,15 +8872,15 @@ func rewriteValuePPC64_OpRsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -8
-               v4 := b.NewValue0(v.Line, OpZeroExt32to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt32to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -8907,7 +8907,7 @@ func rewriteValuePPC64_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -8927,7 +8927,7 @@ func rewriteValuePPC64_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = 63
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -8947,7 +8947,7 @@ func rewriteValuePPC64_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpPPC64SRAWconst)
                v.AuxInt = c
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -8959,13 +8959,13 @@ func rewriteValuePPC64_OpRsh8x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -8
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -8984,15 +8984,15 @@ func rewriteValuePPC64_OpRsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpPPC64SRAW)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpPPC64ORN, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpPPC64ORN, config.fe.TypeInt64())
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
-               v3 := b.NewValue0(v.Line, OpPPC64ADDconstForCarry, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpPPC64MaskIfNotCarry, config.fe.TypeInt64())
+               v3 := b.NewValue0(v.Pos, OpPPC64ADDconstForCarry, TypeFlags)
                v3.AuxInt = -8
-               v4 := b.NewValue0(v.Line, OpZeroExt8to64, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpZeroExt8to64, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -9090,9 +9090,9 @@ func rewriteValuePPC64_OpSlicemask(v *Value, config *Config) bool {
                x := v.Args[0]
                v.reset(OpPPC64XORconst)
                v.AuxInt = -1
-               v0 := b.NewValue0(v.Line, OpPPC64SRADconst, t)
+               v0 := b.NewValue0(v.Pos, OpPPC64SRADconst, t)
                v0.AuxInt = 63
-               v1 := b.NewValue0(v.Line, OpPPC64ADDconst, t)
+               v1 := b.NewValue0(v.Pos, OpPPC64ADDconst, t)
                v1.AuxInt = -1
                v1.AddArg(x)
                v0.AddArg(v1)
@@ -9565,7 +9565,7 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVBstorezero)
                v.AuxInt = 1
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVBstorezero, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVBstorezero, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -9600,7 +9600,7 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVHstorezero)
                v.AuxInt = 2
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVHstorezero, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVHstorezero, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -9620,13 +9620,13 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVBstorezero)
                v.AuxInt = 3
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVBstorezero, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVBstorezero, TypeMem)
                v0.AuxInt = 2
                v0.AddArg(destptr)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVBstorezero, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVBstorezero, TypeMem)
                v1.AuxInt = 1
                v1.AddArg(destptr)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVBstorezero, TypeMem)
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVBstorezero, TypeMem)
                v2.AuxInt = 0
                v2.AddArg(destptr)
                v2.AddArg(mem)
@@ -9664,7 +9664,7 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVWstorezero)
                v.AuxInt = 4
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVWstorezero, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVWstorezero, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -9684,13 +9684,13 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVHstorezero)
                v.AuxInt = 6
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVHstorezero, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVHstorezero, TypeMem)
                v0.AuxInt = 4
                v0.AddArg(destptr)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVHstorezero, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVHstorezero, TypeMem)
                v1.AuxInt = 2
                v1.AddArg(destptr)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVHstorezero, TypeMem)
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVHstorezero, TypeMem)
                v2.AuxInt = 0
                v2.AddArg(destptr)
                v2.AddArg(mem)
@@ -9712,10 +9712,10 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVBstorezero)
                v.AuxInt = 2
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVBstorezero, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVBstorezero, TypeMem)
                v0.AuxInt = 1
                v0.AddArg(destptr)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVBstorezero, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVBstorezero, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(destptr)
                v1.AddArg(mem)
@@ -9736,7 +9736,7 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVDstorezero)
                v.AuxInt = 8
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVDstorezero, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -9756,10 +9756,10 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVDstorezero)
                v.AuxInt = 16
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVDstorezero, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, TypeMem)
                v0.AuxInt = 8
                v0.AddArg(destptr)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVDstorezero, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, TypeMem)
                v1.AuxInt = 0
                v1.AddArg(destptr)
                v1.AddArg(mem)
@@ -9780,13 +9780,13 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64MOVDstorezero)
                v.AuxInt = 24
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpPPC64MOVDstorezero, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, TypeMem)
                v0.AuxInt = 16
                v0.AddArg(destptr)
-               v1 := b.NewValue0(v.Line, OpPPC64MOVDstorezero, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, TypeMem)
                v1.AuxInt = 8
                v1.AddArg(destptr)
-               v2 := b.NewValue0(v.Line, OpPPC64MOVDstorezero, TypeMem)
+               v2 := b.NewValue0(v.Pos, OpPPC64MOVDstorezero, TypeMem)
                v2.AuxInt = 0
                v2.AddArg(destptr)
                v2.AddArg(mem)
@@ -9808,7 +9808,7 @@ func rewriteValuePPC64_OpZero(v *Value, config *Config) bool {
                v.reset(OpPPC64LoweredZero)
                v.AuxInt = SizeAndAlign(s).Align()
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpPPC64ADDconst, ptr.Type)
+               v0 := b.NewValue0(v.Pos, OpPPC64ADDconst, ptr.Type)
                v0.AuxInt = SizeAndAlign(s).Size() - moveSize(SizeAndAlign(s).Align(), config)
                v0.AddArg(ptr)
                v.AddArg(v0)
@@ -9918,7 +9918,7 @@ func rewriteBlockPPC64(b *Block, config *Config) bool {
                        yes := b.Succs[0]
                        no := b.Succs[1]
                        b.Kind = BlockPPC64EQ
-                       v0 := b.NewValue0(v.Line, OpPPC64ANDCCconst, TypeFlags)
+                       v0 := b.NewValue0(v.Pos, OpPPC64ANDCCconst, TypeFlags)
                        v0.AuxInt = c
                        v0.AddArg(x)
                        b.SetControl(v0)
@@ -9946,7 +9946,7 @@ func rewriteBlockPPC64(b *Block, config *Config) bool {
                        yes := b.Succs[0]
                        no := b.Succs[1]
                        b.Kind = BlockPPC64EQ
-                       v0 := b.NewValue0(v.Line, OpPPC64ANDCCconst, TypeFlags)
+                       v0 := b.NewValue0(v.Pos, OpPPC64ANDCCconst, TypeFlags)
                        v0.AuxInt = c
                        v0.AddArg(x)
                        b.SetControl(v0)
@@ -10337,7 +10337,7 @@ func rewriteBlockPPC64(b *Block, config *Config) bool {
                        yes := b.Succs[0]
                        no := b.Succs[1]
                        b.Kind = BlockPPC64NE
-                       v0 := b.NewValue0(v.Line, OpPPC64CMPWconst, TypeFlags)
+                       v0 := b.NewValue0(v.Pos, OpPPC64CMPWconst, TypeFlags)
                        v0.AuxInt = 0
                        v0.AddArg(cond)
                        b.SetControl(v0)
@@ -10741,7 +10741,7 @@ func rewriteBlockPPC64(b *Block, config *Config) bool {
                        yes := b.Succs[0]
                        no := b.Succs[1]
                        b.Kind = BlockPPC64NE
-                       v0 := b.NewValue0(v.Line, OpPPC64ANDCCconst, TypeFlags)
+                       v0 := b.NewValue0(v.Pos, OpPPC64ANDCCconst, TypeFlags)
                        v0.AuxInt = c
                        v0.AddArg(x)
                        b.SetControl(v0)
@@ -10769,7 +10769,7 @@ func rewriteBlockPPC64(b *Block, config *Config) bool {
                        yes := b.Succs[0]
                        no := b.Succs[1]
                        b.Kind = BlockPPC64NE
-                       v0 := b.NewValue0(v.Line, OpPPC64ANDCCconst, TypeFlags)
+                       v0 := b.NewValue0(v.Pos, OpPPC64ANDCCconst, TypeFlags)
                        v0.AuxInt = c
                        v0.AddArg(x)
                        b.SetControl(v0)
index 7d023bcf8ba38f18b04fac62a4cd22694d622182..c7e002a5b355a5810eba47ba8955a90d923025a1 100644 (file)
@@ -915,7 +915,7 @@ func rewriteValueS390X_OpAtomicAdd32(v *Value, config *Config) bool {
                val := v.Args[1]
                mem := v.Args[2]
                v.reset(OpS390XAddTupleFirst32)
-               v0 := b.NewValue0(v.Line, OpS390XLAA, MakeTuple(config.fe.TypeUInt32(), TypeMem))
+               v0 := b.NewValue0(v.Pos, OpS390XLAA, MakeTuple(config.fe.TypeUInt32(), TypeMem))
                v0.AddArg(ptr)
                v0.AddArg(val)
                v0.AddArg(mem)
@@ -935,7 +935,7 @@ func rewriteValueS390X_OpAtomicAdd64(v *Value, config *Config) bool {
                val := v.Args[1]
                mem := v.Args[2]
                v.reset(OpS390XAddTupleFirst64)
-               v0 := b.NewValue0(v.Line, OpS390XLAAG, MakeTuple(config.fe.TypeUInt64(), TypeMem))
+               v0 := b.NewValue0(v.Pos, OpS390XLAAG, MakeTuple(config.fe.TypeUInt64(), TypeMem))
                v0.AddArg(ptr)
                v0.AddArg(val)
                v0.AddArg(mem)
@@ -1123,19 +1123,19 @@ func rewriteValueS390X_OpAvg64u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XADD)
-               v0 := b.NewValue0(v.Line, OpS390XADD, t)
-               v1 := b.NewValue0(v.Line, OpS390XSRDconst, t)
+               v0 := b.NewValue0(v.Pos, OpS390XADD, t)
+               v1 := b.NewValue0(v.Pos, OpS390XSRDconst, t)
                v1.AuxInt = 1
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XSRDconst, t)
+               v2 := b.NewValue0(v.Pos, OpS390XSRDconst, t)
                v2.AuxInt = 1
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpS390XANDconst, t)
+               v3 := b.NewValue0(v.Pos, OpS390XANDconst, t)
                v3.AuxInt = 1
-               v4 := b.NewValue0(v.Line, OpS390XAND, t)
+               v4 := b.NewValue0(v.Pos, OpS390XAND, t)
                v4.AddArg(x)
                v4.AddArg(y)
                v3.AddArg(v4)
@@ -1370,17 +1370,17 @@ func rewriteValueS390X_OpCtz32(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpS390XSUB)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 64
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XFLOGR, config.fe.TypeUInt64())
-               v2 := b.NewValue0(v.Line, OpS390XMOVWZreg, config.fe.TypeUInt64())
-               v3 := b.NewValue0(v.Line, OpS390XANDW, t)
-               v4 := b.NewValue0(v.Line, OpS390XSUBWconst, t)
+               v1 := b.NewValue0(v.Pos, OpS390XFLOGR, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVWZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XANDW, t)
+               v4 := b.NewValue0(v.Pos, OpS390XSUBWconst, t)
                v4.AuxInt = 1
                v4.AddArg(x)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpS390XNOTW, t)
+               v5 := b.NewValue0(v.Pos, OpS390XNOTW, t)
                v5.AddArg(x)
                v3.AddArg(v5)
                v2.AddArg(v3)
@@ -1399,16 +1399,16 @@ func rewriteValueS390X_OpCtz64(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpS390XSUB)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 64
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XFLOGR, config.fe.TypeUInt64())
-               v2 := b.NewValue0(v.Line, OpS390XAND, t)
-               v3 := b.NewValue0(v.Line, OpS390XSUBconst, t)
+               v1 := b.NewValue0(v.Pos, OpS390XFLOGR, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XAND, t)
+               v3 := b.NewValue0(v.Pos, OpS390XSUBconst, t)
                v3.AuxInt = 1
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XNOT, t)
+               v4 := b.NewValue0(v.Pos, OpS390XNOT, t)
                v4.AddArg(x)
                v2.AddArg(v4)
                v1.AddArg(v2)
@@ -1571,10 +1571,10 @@ func rewriteValueS390X_OpDiv16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XDIVW)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1590,10 +1590,10 @@ func rewriteValueS390X_OpDiv16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XDIVWU)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1609,7 +1609,7 @@ func rewriteValueS390X_OpDiv32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XDIVW)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(y)
@@ -1641,7 +1641,7 @@ func rewriteValueS390X_OpDiv32u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XDIVWU)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWZreg, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(y)
@@ -1703,10 +1703,10 @@ func rewriteValueS390X_OpDiv8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XDIVW)
-               v0 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1722,10 +1722,10 @@ func rewriteValueS390X_OpDiv8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XDIVWU)
-               v0 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -1741,17 +1741,17 @@ func rewriteValueS390X_OpEq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDEQ)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -1768,13 +1768,13 @@ func rewriteValueS390X_OpEq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDEQ)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPW, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPW, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -1791,13 +1791,13 @@ func rewriteValueS390X_OpEq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDEQ)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMPS, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMPS, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -1814,13 +1814,13 @@ func rewriteValueS390X_OpEq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDEQ)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -1837,13 +1837,13 @@ func rewriteValueS390X_OpEq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDEQ)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -1860,17 +1860,17 @@ func rewriteValueS390X_OpEq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDEQ)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -1887,17 +1887,17 @@ func rewriteValueS390X_OpEqB(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDEQ)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -1914,13 +1914,13 @@ func rewriteValueS390X_OpEqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDEQ)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -1937,17 +1937,17 @@ func rewriteValueS390X_OpGeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -1964,17 +1964,17 @@ func rewriteValueS390X_OpGeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -1991,13 +1991,13 @@ func rewriteValueS390X_OpGeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPW, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPW, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2014,13 +2014,13 @@ func rewriteValueS390X_OpGeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGEnoinv)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMPS, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMPS, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2037,13 +2037,13 @@ func rewriteValueS390X_OpGeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWU, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2060,13 +2060,13 @@ func rewriteValueS390X_OpGeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2083,13 +2083,13 @@ func rewriteValueS390X_OpGeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGEnoinv)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2106,13 +2106,13 @@ func rewriteValueS390X_OpGeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2129,17 +2129,17 @@ func rewriteValueS390X_OpGeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2156,17 +2156,17 @@ func rewriteValueS390X_OpGeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2222,17 +2222,17 @@ func rewriteValueS390X_OpGreater16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2249,17 +2249,17 @@ func rewriteValueS390X_OpGreater16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2276,13 +2276,13 @@ func rewriteValueS390X_OpGreater32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPW, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPW, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2299,13 +2299,13 @@ func rewriteValueS390X_OpGreater32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGTnoinv)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMPS, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMPS, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2322,13 +2322,13 @@ func rewriteValueS390X_OpGreater32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWU, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2345,13 +2345,13 @@ func rewriteValueS390X_OpGreater64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2368,13 +2368,13 @@ func rewriteValueS390X_OpGreater64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGTnoinv)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2391,13 +2391,13 @@ func rewriteValueS390X_OpGreater64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2414,17 +2414,17 @@ func rewriteValueS390X_OpGreater8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2441,17 +2441,17 @@ func rewriteValueS390X_OpGreater8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2469,11 +2469,11 @@ func rewriteValueS390X_OpHmul16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRDconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpS390XMULLW, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMULLW, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2491,11 +2491,11 @@ func rewriteValueS390X_OpHmul16u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRDconst)
                v.AuxInt = 16
-               v0 := b.NewValue0(v.Line, OpS390XMULLW, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMULLW, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2513,11 +2513,11 @@ func rewriteValueS390X_OpHmul32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRDconst)
                v.AuxInt = 32
-               v0 := b.NewValue0(v.Line, OpS390XMULLD, config.fe.TypeInt64())
-               v1 := b.NewValue0(v.Line, OpS390XMOVWreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMULLD, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVWreg, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XMOVWreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVWreg, config.fe.TypeInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2535,11 +2535,11 @@ func rewriteValueS390X_OpHmul32u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRDconst)
                v.AuxInt = 32
-               v0 := b.NewValue0(v.Line, OpS390XMULLD, config.fe.TypeInt64())
-               v1 := b.NewValue0(v.Line, OpS390XMOVWZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMULLD, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVWZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XMOVWZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVWZreg, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2587,11 +2587,11 @@ func rewriteValueS390X_OpHmul8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRDconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpS390XMULLW, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMULLW, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2609,11 +2609,11 @@ func rewriteValueS390X_OpHmul8u(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRDconst)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpS390XMULLW, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMULLW, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
@@ -2667,13 +2667,13 @@ func rewriteValueS390X_OpIsInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpS390XMOVDLT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
                v2.AddArg(idx)
                v2.AddArg(len)
                v.AddArg(v2)
@@ -2689,13 +2689,13 @@ func rewriteValueS390X_OpIsNonNil(v *Value, config *Config) bool {
        for {
                p := v.Args[0]
                v.reset(OpS390XMOVDNE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPconst, TypeFlags)
                v2.AuxInt = 0
                v2.AddArg(p)
                v.AddArg(v2)
@@ -2712,13 +2712,13 @@ func rewriteValueS390X_OpIsSliceInBounds(v *Value, config *Config) bool {
                idx := v.Args[0]
                len := v.Args[1]
                v.reset(OpS390XMOVDLE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
                v2.AddArg(idx)
                v2.AddArg(len)
                v.AddArg(v2)
@@ -2735,17 +2735,17 @@ func rewriteValueS390X_OpLeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2762,17 +2762,17 @@ func rewriteValueS390X_OpLeq16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2789,13 +2789,13 @@ func rewriteValueS390X_OpLeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPW, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPW, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2812,13 +2812,13 @@ func rewriteValueS390X_OpLeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGEnoinv)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMPS, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMPS, TypeFlags)
                v2.AddArg(y)
                v2.AddArg(x)
                v.AddArg(v2)
@@ -2835,13 +2835,13 @@ func rewriteValueS390X_OpLeq32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWU, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2858,13 +2858,13 @@ func rewriteValueS390X_OpLeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2881,13 +2881,13 @@ func rewriteValueS390X_OpLeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGEnoinv)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMP, TypeFlags)
                v2.AddArg(y)
                v2.AddArg(x)
                v.AddArg(v2)
@@ -2904,13 +2904,13 @@ func rewriteValueS390X_OpLeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -2927,17 +2927,17 @@ func rewriteValueS390X_OpLeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2954,17 +2954,17 @@ func rewriteValueS390X_OpLeq8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -2981,17 +2981,17 @@ func rewriteValueS390X_OpLess16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -3008,17 +3008,17 @@ func rewriteValueS390X_OpLess16U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -3035,13 +3035,13 @@ func rewriteValueS390X_OpLess32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPW, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPW, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -3058,13 +3058,13 @@ func rewriteValueS390X_OpLess32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGTnoinv)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMPS, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMPS, TypeFlags)
                v2.AddArg(y)
                v2.AddArg(x)
                v.AddArg(v2)
@@ -3081,13 +3081,13 @@ func rewriteValueS390X_OpLess32U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWU, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -3104,13 +3104,13 @@ func rewriteValueS390X_OpLess64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -3127,13 +3127,13 @@ func rewriteValueS390X_OpLess64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDGTnoinv)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMP, TypeFlags)
                v2.AddArg(y)
                v2.AddArg(x)
                v.AddArg(v2)
@@ -3150,13 +3150,13 @@ func rewriteValueS390X_OpLess64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -3173,17 +3173,17 @@ func rewriteValueS390X_OpLess8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -3200,17 +3200,17 @@ func rewriteValueS390X_OpLess8U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDLT)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPU, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMPU, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -3357,14 +3357,14 @@ func rewriteValueS390X_OpLsh16x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3383,12 +3383,12 @@ func rewriteValueS390X_OpLsh16x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3407,12 +3407,12 @@ func rewriteValueS390X_OpLsh16x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v2.AuxInt = 31
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3431,14 +3431,14 @@ func rewriteValueS390X_OpLsh16x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3457,14 +3457,14 @@ func rewriteValueS390X_OpLsh32x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3483,12 +3483,12 @@ func rewriteValueS390X_OpLsh32x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3507,12 +3507,12 @@ func rewriteValueS390X_OpLsh32x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v2.AuxInt = 31
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3531,14 +3531,14 @@ func rewriteValueS390X_OpLsh32x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3557,14 +3557,14 @@ func rewriteValueS390X_OpLsh64x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XAND)
-               v0 := b.NewValue0(v.Line, OpS390XSLD, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 63
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3583,12 +3583,12 @@ func rewriteValueS390X_OpLsh64x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XAND)
-               v0 := b.NewValue0(v.Line, OpS390XSLD, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 63
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3607,12 +3607,12 @@ func rewriteValueS390X_OpLsh64x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XAND)
-               v0 := b.NewValue0(v.Line, OpS390XSLD, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v2.AuxInt = 63
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3631,14 +3631,14 @@ func rewriteValueS390X_OpLsh64x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XAND)
-               v0 := b.NewValue0(v.Line, OpS390XSLD, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLD, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 63
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3657,14 +3657,14 @@ func rewriteValueS390X_OpLsh8x16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3683,12 +3683,12 @@ func rewriteValueS390X_OpLsh8x32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3707,12 +3707,12 @@ func rewriteValueS390X_OpLsh8x64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v2.AuxInt = 31
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -3731,14 +3731,14 @@ func rewriteValueS390X_OpLsh8x8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSLW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -3756,10 +3756,10 @@ func rewriteValueS390X_OpMod16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMODW)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -3775,10 +3775,10 @@ func rewriteValueS390X_OpMod16u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMODWU)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -3794,7 +3794,7 @@ func rewriteValueS390X_OpMod32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMODW)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(y)
@@ -3811,7 +3811,7 @@ func rewriteValueS390X_OpMod32u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMODWU)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWZreg, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(y)
@@ -3858,10 +3858,10 @@ func rewriteValueS390X_OpMod8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMODW)
-               v0 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -3877,10 +3877,10 @@ func rewriteValueS390X_OpMod8u(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMODWU)
-               v0 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -3916,7 +3916,7 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpS390XMOVBstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVBZload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, config.fe.TypeUInt8())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -3936,7 +3936,7 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpS390XMOVHstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZload, config.fe.TypeUInt16())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -3956,7 +3956,7 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpS390XMOVWstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWZload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWZload, config.fe.TypeUInt32())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -3976,7 +3976,7 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                }
                v.reset(OpS390XMOVDstore)
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDload, config.fe.TypeUInt64())
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -3997,14 +3997,14 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.reset(OpS390XMOVDstore)
                v.AuxInt = 8
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDload, config.fe.TypeUInt64())
                v0.AuxInt = 8
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpS390XMOVDload, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVDload, config.fe.TypeUInt64())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -4026,22 +4026,22 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.reset(OpS390XMOVDstore)
                v.AuxInt = 16
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDload, config.fe.TypeUInt64())
                v0.AuxInt = 16
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDstore, TypeMem)
                v1.AuxInt = 8
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpS390XMOVDload, config.fe.TypeUInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVDload, config.fe.TypeUInt64())
                v2.AuxInt = 8
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpS390XMOVDstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVDstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpS390XMOVDload, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVDload, config.fe.TypeUInt64())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -4064,14 +4064,14 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.reset(OpS390XMOVBstore)
                v.AuxInt = 2
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVBZload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, config.fe.TypeUInt8())
                v0.AuxInt = 2
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpS390XMOVHZload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVHZload, config.fe.TypeUInt16())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -4093,14 +4093,14 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.reset(OpS390XMOVBstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVBZload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, config.fe.TypeUInt8())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVWstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpS390XMOVWZload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVWZload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -4122,14 +4122,14 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.reset(OpS390XMOVHstore)
                v.AuxInt = 4
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZload, config.fe.TypeUInt16())
                v0.AuxInt = 4
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVWstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVWstore, TypeMem)
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpS390XMOVWZload, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVWZload, config.fe.TypeUInt32())
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
@@ -4151,22 +4151,22 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.reset(OpS390XMOVBstore)
                v.AuxInt = 6
                v.AddArg(dst)
-               v0 := b.NewValue0(v.Line, OpS390XMOVBZload, config.fe.TypeUInt8())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, config.fe.TypeUInt8())
                v0.AuxInt = 6
                v0.AddArg(src)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHstore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHstore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
-               v2 := b.NewValue0(v.Line, OpS390XMOVHZload, config.fe.TypeUInt16())
+               v2 := b.NewValue0(v.Pos, OpS390XMOVHZload, config.fe.TypeUInt16())
                v2.AuxInt = 4
                v2.AddArg(src)
                v2.AddArg(mem)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpS390XMOVWstore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVWstore, TypeMem)
                v3.AddArg(dst)
-               v4 := b.NewValue0(v.Line, OpS390XMOVWZload, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVWZload, config.fe.TypeUInt32())
                v4.AddArg(src)
                v4.AddArg(mem)
                v3.AddArg(v4)
@@ -4208,7 +4208,7 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.AuxInt = makeValAndOff(SizeAndAlign(s).Size()-256, 256)
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpS390XMVC, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpS390XMVC, TypeMem)
                v0.AuxInt = makeValAndOff(256, 0)
                v0.AddArg(dst)
                v0.AddArg(src)
@@ -4231,11 +4231,11 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.AuxInt = makeValAndOff(SizeAndAlign(s).Size()-512, 512)
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpS390XMVC, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpS390XMVC, TypeMem)
                v0.AuxInt = makeValAndOff(256, 256)
                v0.AddArg(dst)
                v0.AddArg(src)
-               v1 := b.NewValue0(v.Line, OpS390XMVC, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpS390XMVC, TypeMem)
                v1.AuxInt = makeValAndOff(256, 0)
                v1.AddArg(dst)
                v1.AddArg(src)
@@ -4259,15 +4259,15 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.AuxInt = makeValAndOff(SizeAndAlign(s).Size()-768, 768)
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpS390XMVC, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpS390XMVC, TypeMem)
                v0.AuxInt = makeValAndOff(256, 512)
                v0.AddArg(dst)
                v0.AddArg(src)
-               v1 := b.NewValue0(v.Line, OpS390XMVC, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpS390XMVC, TypeMem)
                v1.AuxInt = makeValAndOff(256, 256)
                v1.AddArg(dst)
                v1.AddArg(src)
-               v2 := b.NewValue0(v.Line, OpS390XMVC, TypeMem)
+               v2 := b.NewValue0(v.Pos, OpS390XMVC, TypeMem)
                v2.AuxInt = makeValAndOff(256, 0)
                v2.AddArg(dst)
                v2.AddArg(src)
@@ -4292,7 +4292,7 @@ func rewriteValueS390X_OpMove(v *Value, config *Config) bool {
                v.AuxInt = SizeAndAlign(s).Size() % 256
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpS390XADDconst, src.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XADDconst, src.Type)
                v0.AuxInt = (SizeAndAlign(s).Size() / 256) * 256
                v0.AddArg(src)
                v.AddArg(v0)
@@ -4400,7 +4400,7 @@ func rewriteValueS390X_OpNeg16(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpS390XNEGW)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -4467,7 +4467,7 @@ func rewriteValueS390X_OpNeg8(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpS390XNEGW)
-               v0 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -4483,17 +4483,17 @@ func rewriteValueS390X_OpNeq16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDNE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -4510,13 +4510,13 @@ func rewriteValueS390X_OpNeq32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDNE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMPW, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPW, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -4533,13 +4533,13 @@ func rewriteValueS390X_OpNeq32F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDNE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMPS, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMPS, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -4556,13 +4556,13 @@ func rewriteValueS390X_OpNeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDNE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -4579,13 +4579,13 @@ func rewriteValueS390X_OpNeq64F(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDNE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XFCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XFCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -4602,17 +4602,17 @@ func rewriteValueS390X_OpNeq8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDNE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -4629,17 +4629,17 @@ func rewriteValueS390X_OpNeqB(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDNE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
-               v3 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v3.AddArg(x)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v4.AddArg(y)
                v2.AddArg(v4)
                v.AddArg(v2)
@@ -4656,13 +4656,13 @@ func rewriteValueS390X_OpNeqPtr(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XMOVDNE)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v1.AuxInt = 1
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpS390XCMP, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XCMP, TypeFlags)
                v2.AddArg(x)
                v2.AddArg(y)
                v.AddArg(v2)
@@ -4736,7 +4736,7 @@ func rewriteValueS390X_OpOffPtr(v *Value, config *Config) bool {
                off := v.AuxInt
                ptr := v.Args[0]
                v.reset(OpS390XADD)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = off
                v.AddArg(v0)
                v.AddArg(ptr)
@@ -4829,16 +4829,16 @@ func rewriteValueS390X_OpRsh16Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 15
-               v4 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -4857,14 +4857,14 @@ func rewriteValueS390X_OpRsh16Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 15
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -4883,14 +4883,14 @@ func rewriteValueS390X_OpRsh16Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v3 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v3.AuxInt = 15
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -4909,16 +4909,16 @@ func rewriteValueS390X_OpRsh16Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 15
-               v4 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -4938,16 +4938,16 @@ func rewriteValueS390X_OpRsh16x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRAW)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v4 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v4 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v4.AuxInt = 15
-               v5 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v3.AddArg(v4)
@@ -4969,14 +4969,14 @@ func rewriteValueS390X_OpRsh16x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRAW)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v4 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v4 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v4.AuxInt = 15
                v4.AddArg(y)
                v3.AddArg(v4)
@@ -4998,14 +4998,14 @@ func rewriteValueS390X_OpRsh16x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRAW)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XOR, y.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XOR, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpS390XNOT, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, y.Type)
-               v4 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XNOT, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, y.Type)
+               v4 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v4.AuxInt = 15
                v4.AddArg(y)
                v3.AddArg(v4)
@@ -5027,16 +5027,16 @@ func rewriteValueS390X_OpRsh16x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRAW)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpS390XMOVHreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v4 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v4 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v4.AuxInt = 15
-               v5 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v3.AddArg(v4)
@@ -5057,14 +5057,14 @@ func rewriteValueS390X_OpRsh32Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -5083,12 +5083,12 @@ func rewriteValueS390X_OpRsh32Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -5107,12 +5107,12 @@ func rewriteValueS390X_OpRsh32Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v2.AuxInt = 31
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -5131,14 +5131,14 @@ func rewriteValueS390X_OpRsh32Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 31
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -5159,13 +5159,13 @@ func rewriteValueS390X_OpRsh32x16(v *Value, config *Config) bool {
                v.reset(OpS390XSRAW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 31
-               v4 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -5188,11 +5188,11 @@ func rewriteValueS390X_OpRsh32x32(v *Value, config *Config) bool {
                v.reset(OpS390XSRAW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 31
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -5215,11 +5215,11 @@ func rewriteValueS390X_OpRsh32x64(v *Value, config *Config) bool {
                v.reset(OpS390XSRAW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpS390XOR, y.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XOR, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpS390XNOT, y.Type)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XNOT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v3.AuxInt = 31
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -5242,13 +5242,13 @@ func rewriteValueS390X_OpRsh32x8(v *Value, config *Config) bool {
                v.reset(OpS390XSRAW)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 31
-               v4 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -5269,14 +5269,14 @@ func rewriteValueS390X_OpRsh64Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XAND)
-               v0 := b.NewValue0(v.Line, OpS390XSRD, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 63
-               v3 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -5295,12 +5295,12 @@ func rewriteValueS390X_OpRsh64Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XAND)
-               v0 := b.NewValue0(v.Line, OpS390XSRD, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 63
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -5319,12 +5319,12 @@ func rewriteValueS390X_OpRsh64Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XAND)
-               v0 := b.NewValue0(v.Line, OpS390XSRD, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v2.AuxInt = 63
                v2.AddArg(y)
                v1.AddArg(v2)
@@ -5343,14 +5343,14 @@ func rewriteValueS390X_OpRsh64Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XAND)
-               v0 := b.NewValue0(v.Line, OpS390XSRD, t)
+               v0 := b.NewValue0(v.Pos, OpS390XSRD, t)
                v0.AddArg(x)
                v0.AddArg(y)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, t)
-               v2 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, t)
+               v2 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v2.AuxInt = 63
-               v3 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v3 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v3.AddArg(y)
                v2.AddArg(v3)
                v1.AddArg(v2)
@@ -5371,13 +5371,13 @@ func rewriteValueS390X_OpRsh64x16(v *Value, config *Config) bool {
                v.reset(OpS390XSRAD)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 63
-               v4 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -5400,11 +5400,11 @@ func rewriteValueS390X_OpRsh64x32(v *Value, config *Config) bool {
                v.reset(OpS390XSRAD)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 63
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -5427,11 +5427,11 @@ func rewriteValueS390X_OpRsh64x64(v *Value, config *Config) bool {
                v.reset(OpS390XSRAD)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpS390XOR, y.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XOR, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpS390XNOT, y.Type)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XNOT, y.Type)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v3.AuxInt = 63
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -5454,13 +5454,13 @@ func rewriteValueS390X_OpRsh64x8(v *Value, config *Config) bool {
                v.reset(OpS390XSRAD)
                v.Type = t
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v0.AddArg(y)
-               v1 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v1 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 63
-               v4 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -5481,16 +5481,16 @@ func rewriteValueS390X_OpRsh8Ux16(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
-               v1 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 7
-               v4 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -5509,14 +5509,14 @@ func rewriteValueS390X_OpRsh8Ux32(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
-               v1 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 7
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -5535,14 +5535,14 @@ func rewriteValueS390X_OpRsh8Ux64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
-               v1 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v3 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v3.AuxInt = 7
                v3.AddArg(y)
                v2.AddArg(v3)
@@ -5561,16 +5561,16 @@ func rewriteValueS390X_OpRsh8Ux8(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpS390XANDW)
-               v0 := b.NewValue0(v.Line, OpS390XSRW, t)
-               v1 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XSRW, t)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v1.AddArg(x)
                v0.AddArg(v1)
                v0.AddArg(y)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, t)
-               v3 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, t)
+               v3 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v3.AuxInt = 7
-               v4 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v4 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v4.AddArg(y)
                v3.AddArg(v4)
                v2.AddArg(v3)
@@ -5590,16 +5590,16 @@ func rewriteValueS390X_OpRsh8x16(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRAW)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v4 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v4 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v4.AuxInt = 7
-               v5 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v3.AddArg(v4)
@@ -5621,14 +5621,14 @@ func rewriteValueS390X_OpRsh8x32(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRAW)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v4 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v4 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v4.AuxInt = 7
                v4.AddArg(y)
                v3.AddArg(v4)
@@ -5650,14 +5650,14 @@ func rewriteValueS390X_OpRsh8x64(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRAW)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XOR, y.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XOR, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpS390XNOT, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XSUBEcarrymask, y.Type)
-               v4 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XNOT, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XSUBEcarrymask, y.Type)
+               v4 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v4.AuxInt = 7
                v4.AddArg(y)
                v3.AddArg(v4)
@@ -5679,16 +5679,16 @@ func rewriteValueS390X_OpRsh8x8(v *Value, config *Config) bool {
                y := v.Args[1]
                v.reset(OpS390XSRAW)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpS390XMOVBreg, config.fe.TypeInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBreg, config.fe.TypeInt64())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XORW, y.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XORW, y.Type)
                v1.AddArg(y)
-               v2 := b.NewValue0(v.Line, OpS390XNOTW, y.Type)
-               v3 := b.NewValue0(v.Line, OpS390XSUBEWcarrymask, y.Type)
-               v4 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v2 := b.NewValue0(v.Pos, OpS390XNOTW, y.Type)
+               v3 := b.NewValue0(v.Pos, OpS390XSUBEWcarrymask, y.Type)
+               v4 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v4.AuxInt = 7
-               v5 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+               v5 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                v5.AddArg(y)
                v4.AddArg(v5)
                v3.AddArg(v4)
@@ -6723,7 +6723,7 @@ func rewriteValueS390X_OpS390XCMP(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpS390XInvertFlags)
-               v0 := b.NewValue0(v.Line, OpS390XCMPconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpS390XCMPconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6766,7 +6766,7 @@ func rewriteValueS390X_OpS390XCMPU(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpS390XInvertFlags)
-               v0 := b.NewValue0(v.Line, OpS390XCMPUconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpS390XCMPUconst, TypeFlags)
                v0.AuxInt = int64(uint32(c))
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6856,7 +6856,7 @@ func rewriteValueS390X_OpS390XCMPW(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpS390XInvertFlags)
-               v0 := b.NewValue0(v.Line, OpS390XCMPWconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpS390XCMPWconst, TypeFlags)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -6893,7 +6893,7 @@ func rewriteValueS390X_OpS390XCMPWU(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpS390XInvertFlags)
-               v0 := b.NewValue0(v.Line, OpS390XCMPWUconst, TypeFlags)
+               v0 := b.NewValue0(v.Pos, OpS390XCMPWUconst, TypeFlags)
                v0.AuxInt = int64(uint32(c))
                v0.AddArg(x)
                v.AddArg(v0)
@@ -8254,7 +8254,7 @@ func rewriteValueS390X_OpS390XMOVBZreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpS390XMOVBZload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBZload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -8280,7 +8280,7 @@ func rewriteValueS390X_OpS390XMOVBZreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpS390XMOVBZloadidx, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBZloadidx, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -8419,7 +8419,7 @@ func rewriteValueS390X_OpS390XMOVBreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpS390XMOVBload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVBload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -11182,7 +11182,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -11208,7 +11208,7 @@ func rewriteValueS390X_OpS390XMOVHZreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZloadidx, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZloadidx, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -11399,7 +11399,7 @@ func rewriteValueS390X_OpS390XMOVHreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpS390XMOVHload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -12606,7 +12606,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpS390XMOVWZload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWZload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -12632,7 +12632,7 @@ func rewriteValueS390X_OpS390XMOVWZreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpS390XMOVWZloadidx, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWZloadidx, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -12875,7 +12875,7 @@ func rewriteValueS390X_OpS390XMOVWreg(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpS390XMOVWload, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWload, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = off
@@ -13339,7 +13339,7 @@ func rewriteValueS390X_OpS390XMOVWstoreconst(v *Value, config *Config) bool {
                v.AuxInt = ValAndOff(a).Off()
                v.Aux = s
                v.AddArg(p)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = ValAndOff(c).Val()&0xffffffff | ValAndOff(a).Val()<<32
                v.AddArg(v0)
                v.AddArg(mem)
@@ -13657,7 +13657,7 @@ func rewriteValueS390X_OpS390XMULLDconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpS390XSUB)
-               v0 := b.NewValue0(v.Line, OpS390XSLDconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XSLDconst, v.Type)
                v0.AuxInt = log2(c + 1)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -13674,7 +13674,7 @@ func rewriteValueS390X_OpS390XMULLDconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpS390XADD)
-               v0 := b.NewValue0(v.Line, OpS390XSLDconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XSLDconst, v.Type)
                v0.AuxInt = log2(c - 1)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -13899,7 +13899,7 @@ func rewriteValueS390X_OpS390XMULLWconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpS390XSUBW)
-               v0 := b.NewValue0(v.Line, OpS390XSLWconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XSLWconst, v.Type)
                v0.AuxInt = log2(c + 1)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -13916,7 +13916,7 @@ func rewriteValueS390X_OpS390XMULLWconst(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpS390XADDW)
-               v0 := b.NewValue0(v.Line, OpS390XSLWconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XSLWconst, v.Type)
                v0.AuxInt = log2(c - 1)
                v0.AddArg(x)
                v.AddArg(v0)
@@ -13987,7 +13987,7 @@ func rewriteValueS390X_OpS390XNOT(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpS390XXOR)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = -1
                v.AddArg(v0)
                v.AddArg(x)
@@ -14336,7 +14336,7 @@ func rewriteValueS390X_OpS390XOR(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDBRload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDBRload, config.fe.TypeUInt64())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -14568,7 +14568,7 @@ func rewriteValueS390X_OpS390XOR(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDBRloadidx, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDBRloadidx, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -14779,7 +14779,7 @@ func rewriteValueS390X_OpS390XOR(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDload, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDload, config.fe.TypeUInt64())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i - 7
@@ -15011,7 +15011,7 @@ func rewriteValueS390X_OpS390XOR(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2, x3, x4, x5, x6, x7)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDloadidx, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDloadidx, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i - 7
@@ -15212,10 +15212,10 @@ func rewriteValueS390X_OpS390XORW(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHBRload, config.fe.TypeUInt16())
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHBRload, config.fe.TypeUInt16())
                v1.AuxInt = i
                v1.Aux = s
                v1.AddArg(p)
@@ -15293,7 +15293,7 @@ func rewriteValueS390X_OpS390XORW(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWBRload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWBRload, config.fe.TypeUInt32())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i
@@ -15345,10 +15345,10 @@ func rewriteValueS390X_OpS390XORW(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZreg, config.fe.TypeUInt64())
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVHBRloadidx, v.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVHBRloadidx, v.Type)
                v1.AuxInt = i
                v1.Aux = s
                v1.AddArg(p)
@@ -15434,10 +15434,10 @@ func rewriteValueS390X_OpS390XORW(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWZreg, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWZreg, config.fe.TypeUInt64())
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XMOVWBRloadidx, v.Type)
+               v1 := b.NewValue0(v.Pos, OpS390XMOVWBRloadidx, v.Type)
                v1.AuxInt = i
                v1.Aux = s
                v1.AddArg(p)
@@ -15485,7 +15485,7 @@ func rewriteValueS390X_OpS390XORW(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZload, config.fe.TypeUInt16())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZload, config.fe.TypeUInt16())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i - 1
@@ -15560,7 +15560,7 @@ func rewriteValueS390X_OpS390XORW(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWZload, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWZload, config.fe.TypeUInt32())
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i - 2
@@ -15612,7 +15612,7 @@ func rewriteValueS390X_OpS390XORW(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHZloadidx, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHZloadidx, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i - 1
@@ -15695,7 +15695,7 @@ func rewriteValueS390X_OpS390XORW(v *Value, config *Config) bool {
                        break
                }
                b = mergePoint(b, x0, x1, x2)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWZloadidx, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWZloadidx, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
                v0.AuxInt = i - 2
@@ -16211,7 +16211,7 @@ func rewriteValueS390X_OpS390XSUB(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpS390XNEG)
-               v0 := b.NewValue0(v.Line, OpS390XSUBconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XSUBconst, v.Type)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -16368,7 +16368,7 @@ func rewriteValueS390X_OpS390XSUBW(v *Value, config *Config) bool {
                c := v_0.AuxInt
                x := v.Args[1]
                v.reset(OpS390XNEGW)
-               v0 := b.NewValue0(v.Line, OpS390XSUBWconst, v.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XSUBWconst, v.Type)
                v0.AuxInt = c
                v0.AddArg(x)
                v.AddArg(v0)
@@ -16889,7 +16889,7 @@ func rewriteValueS390X_OpSelect0(v *Value, config *Config) bool {
                val := v_0.Args[1]
                v.reset(OpS390XADDW)
                v.AddArg(val)
-               v0 := b.NewValue0(v.Line, OpSelect0, t)
+               v0 := b.NewValue0(v.Pos, OpSelect0, t)
                v0.AddArg(tuple)
                v.AddArg(v0)
                return true
@@ -16907,7 +16907,7 @@ func rewriteValueS390X_OpSelect0(v *Value, config *Config) bool {
                val := v_0.Args[1]
                v.reset(OpS390XADD)
                v.AddArg(val)
-               v0 := b.NewValue0(v.Line, OpSelect0, t)
+               v0 := b.NewValue0(v.Pos, OpSelect0, t)
                v0.AddArg(tuple)
                v.AddArg(v0)
                return true
@@ -17033,12 +17033,12 @@ func rewriteValueS390X_OpSlicemask(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpS390XXOR)
-               v0 := b.NewValue0(v.Line, OpS390XMOVDconst, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpS390XMOVDconst, config.fe.TypeUInt64())
                v0.AuxInt = -1
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpS390XSRADconst, t)
+               v1 := b.NewValue0(v.Pos, OpS390XSRADconst, t)
                v1.AuxInt = 63
-               v2 := b.NewValue0(v.Line, OpS390XSUBconst, t)
+               v2 := b.NewValue0(v.Pos, OpS390XSUBconst, t)
                v2.AuxInt = 1
                v2.AddArg(x)
                v1.AddArg(v2)
@@ -17526,7 +17526,7 @@ func rewriteValueS390X_OpZero(v *Value, config *Config) bool {
                v.reset(OpS390XMOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 2)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpS390XMOVHstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVHstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -17546,7 +17546,7 @@ func rewriteValueS390X_OpZero(v *Value, config *Config) bool {
                v.reset(OpS390XMOVBstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -17566,7 +17566,7 @@ func rewriteValueS390X_OpZero(v *Value, config *Config) bool {
                v.reset(OpS390XMOVHstoreconst)
                v.AuxInt = makeValAndOff(0, 4)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -17586,7 +17586,7 @@ func rewriteValueS390X_OpZero(v *Value, config *Config) bool {
                v.reset(OpS390XMOVWstoreconst)
                v.AuxInt = makeValAndOff(0, 3)
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpS390XMOVWstoreconst, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpS390XMOVWstoreconst, TypeMem)
                v0.AuxInt = 0
                v0.AddArg(destptr)
                v0.AddArg(mem)
@@ -17622,7 +17622,7 @@ func rewriteValueS390X_OpZero(v *Value, config *Config) bool {
                v.reset(OpS390XLoweredZero)
                v.AuxInt = SizeAndAlign(s).Size() % 256
                v.AddArg(destptr)
-               v0 := b.NewValue0(v.Line, OpS390XADDconst, destptr.Type)
+               v0 := b.NewValue0(v.Pos, OpS390XADDconst, destptr.Type)
                v0.AuxInt = (SizeAndAlign(s).Size() / 256) * 256
                v0.AddArg(destptr)
                v.AddArg(v0)
@@ -18173,9 +18173,9 @@ func rewriteBlockS390X(b *Block, config *Config) bool {
                        yes := b.Succs[0]
                        no := b.Succs[1]
                        b.Kind = BlockS390XNE
-                       v0 := b.NewValue0(v.Line, OpS390XCMPWconst, TypeFlags)
+                       v0 := b.NewValue0(v.Pos, OpS390XCMPWconst, TypeFlags)
                        v0.AuxInt = 0
-                       v1 := b.NewValue0(v.Line, OpS390XMOVBZreg, config.fe.TypeUInt64())
+                       v1 := b.NewValue0(v.Pos, OpS390XMOVBZreg, config.fe.TypeUInt64())
                        v1.AddArg(cond)
                        v0.AddArg(v1)
                        b.SetControl(v0)
index fd527518908096570b51e4aed1c6f57757c4742a..60c18bdd3342ffdfd5f2eb3e3eae62f3425bca45 100644 (file)
@@ -123,12 +123,12 @@ func rewriteValuedec_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpComplexMake)
-               v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeFloat32())
+               v0 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeFloat32())
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeFloat32())
-               v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeFloat32().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeFloat32())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeFloat32().PtrTo())
                v2.AuxInt = 4
                v2.AddArg(ptr)
                v1.AddArg(v2)
@@ -147,12 +147,12 @@ func rewriteValuedec_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpComplexMake)
-               v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeFloat64())
+               v0 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeFloat64())
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeFloat64())
-               v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeFloat64().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeFloat64())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeFloat64().PtrTo())
                v2.AuxInt = 8
                v2.AddArg(ptr)
                v1.AddArg(v2)
@@ -171,12 +171,12 @@ func rewriteValuedec_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStringMake)
-               v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeBytePtr())
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeInt())
-               v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeInt())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeInt().PtrTo())
                v2.AuxInt = config.PtrSize
                v2.AddArg(ptr)
                v1.AddArg(v2)
@@ -195,19 +195,19 @@ func rewriteValuedec_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSliceMake)
-               v0 := b.NewValue0(v.Line, OpLoad, t.ElemType().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpLoad, t.ElemType().PtrTo())
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeInt())
-               v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeInt())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeInt().PtrTo())
                v2.AuxInt = config.PtrSize
                v2.AddArg(ptr)
                v1.AddArg(v2)
                v1.AddArg(mem)
                v.AddArg(v1)
-               v3 := b.NewValue0(v.Line, OpLoad, config.fe.TypeInt())
-               v4 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
+               v3 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeInt())
+               v4 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeInt().PtrTo())
                v4.AuxInt = 2 * config.PtrSize
                v4.AddArg(ptr)
                v3.AddArg(v4)
@@ -226,12 +226,12 @@ func rewriteValuedec_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpIMake)
-               v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeBytePtr())
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeBytePtr())
-               v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeBytePtr().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeBytePtr())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeBytePtr().PtrTo())
                v2.AuxInt = config.PtrSize
                v2.AddArg(ptr)
                v1.AddArg(v2)
@@ -318,12 +318,12 @@ func rewriteValuedec_OpStore(v *Value, config *Config) bool {
                mem := v.Args[2]
                v.reset(OpStore)
                v.AuxInt = 4
-               v0 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeFloat32().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeFloat32().PtrTo())
                v0.AuxInt = 4
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(imag)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
                v1.AddArg(real)
@@ -348,12 +348,12 @@ func rewriteValuedec_OpStore(v *Value, config *Config) bool {
                mem := v.Args[2]
                v.reset(OpStore)
                v.AuxInt = 8
-               v0 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeFloat64().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeFloat64().PtrTo())
                v0.AuxInt = 8
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(imag)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = 8
                v1.AddArg(dst)
                v1.AddArg(real)
@@ -378,12 +378,12 @@ func rewriteValuedec_OpStore(v *Value, config *Config) bool {
                mem := v.Args[2]
                v.reset(OpStore)
                v.AuxInt = config.PtrSize
-               v0 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeInt().PtrTo())
                v0.AuxInt = config.PtrSize
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(len)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = config.PtrSize
                v1.AddArg(dst)
                v1.AddArg(ptr)
@@ -409,19 +409,19 @@ func rewriteValuedec_OpStore(v *Value, config *Config) bool {
                mem := v.Args[2]
                v.reset(OpStore)
                v.AuxInt = config.PtrSize
-               v0 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeInt().PtrTo())
                v0.AuxInt = 2 * config.PtrSize
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(cap)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = config.PtrSize
-               v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeInt().PtrTo())
                v2.AuxInt = config.PtrSize
                v2.AddArg(dst)
                v1.AddArg(v2)
                v1.AddArg(len)
-               v3 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v3.AuxInt = config.PtrSize
                v3.AddArg(dst)
                v3.AddArg(ptr)
@@ -447,12 +447,12 @@ func rewriteValuedec_OpStore(v *Value, config *Config) bool {
                mem := v.Args[2]
                v.reset(OpStore)
                v.AuxInt = config.PtrSize
-               v0 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeBytePtr().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeBytePtr().PtrTo())
                v0.AuxInt = config.PtrSize
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(data)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = config.PtrSize
                v1.AddArg(dst)
                v1.AddArg(itab)
index deca0075141dbf4fb264f31eb3caee87b0d4bdda..ff45a5dd881d67f8b9c94c1bb9cab9e408770570 100644 (file)
@@ -135,30 +135,30 @@ func rewriteValuedec64_OpAdd64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpAdd32withcarry, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpAdd32withcarry, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSelect1, TypeFlags)
-               v4 := b.NewValue0(v.Line, OpAdd32carry, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
-               v5 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpSelect1, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpAdd32carry, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
+               v5 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
                v0.AddArg(v3)
                v.AddArg(v0)
-               v7 := b.NewValue0(v.Line, OpSelect0, config.fe.TypeUInt32())
-               v8 := b.NewValue0(v.Line, OpAdd32carry, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpSelect0, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpAdd32carry, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(x)
                v8.AddArg(v9)
-               v10 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v10 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v10.AddArg(y)
                v8.AddArg(v10)
                v7.AddArg(v8)
@@ -176,19 +176,19 @@ func rewriteValuedec64_OpAnd64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpAnd32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpAnd32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpAnd32, config.fe.TypeUInt32())
-               v4 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpAnd32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v4.AddArg(x)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v5.AddArg(y)
                v3.AddArg(v5)
                v.AddArg(v3)
@@ -208,11 +208,11 @@ func rewriteValuedec64_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpArg, config.fe.TypeInt32())
                v0.AuxInt = off + 4
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpArg, config.fe.TypeUInt32())
                v1.AuxInt = off
                v1.Aux = n
                v.AddArg(v1)
@@ -228,11 +228,11 @@ func rewriteValuedec64_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpArg, config.fe.TypeUInt32())
                v0.AuxInt = off + 4
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpArg, config.fe.TypeUInt32())
                v1.AuxInt = off
                v1.Aux = n
                v.AddArg(v1)
@@ -248,11 +248,11 @@ func rewriteValuedec64_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpArg, config.fe.TypeInt32())
                v0.AuxInt = off
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpArg, config.fe.TypeUInt32())
                v1.AuxInt = off + 4
                v1.Aux = n
                v.AddArg(v1)
@@ -268,11 +268,11 @@ func rewriteValuedec64_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpArg, config.fe.TypeUInt32())
                v0.AuxInt = off
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpArg, config.fe.TypeUInt32())
                v1.AuxInt = off + 4
                v1.Aux = n
                v.AddArg(v1)
@@ -289,13 +289,13 @@ func rewriteValuedec64_OpBswap64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpBswap32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpBswap32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpBswap32, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpBswap32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v3.AddArg(x)
                v2.AddArg(v3)
                v.AddArg(v2)
@@ -311,13 +311,13 @@ func rewriteValuedec64_OpCom64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpCom32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpCom32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpCom32, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpCom32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v3.AddArg(x)
                v2.AddArg(v3)
                v.AddArg(v2)
@@ -337,10 +337,10 @@ func rewriteValuedec64_OpConst64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeInt32())
                v0.AuxInt = c >> 32
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v1.AuxInt = int64(int32(c))
                v.AddArg(v1)
                return true
@@ -355,10 +355,10 @@ func rewriteValuedec64_OpConst64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v0.AuxInt = c >> 32
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v1.AuxInt = int64(int32(c))
                v.AddArg(v1)
                return true
@@ -374,25 +374,25 @@ func rewriteValuedec64_OpCtz64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpAdd32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpCtz32, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpAdd32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpCtz32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v3.AddArg(x)
                v2.AddArg(v3)
                v1.AddArg(v2)
-               v4 := b.NewValue0(v.Line, OpAnd32, config.fe.TypeUInt32())
-               v5 := b.NewValue0(v.Line, OpCom32, config.fe.TypeUInt32())
-               v6 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
-               v7 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpAnd32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpCom32, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v7.AddArg(x)
                v6.AddArg(v7)
                v5.AddArg(v6)
                v4.AddArg(v5)
-               v8 := b.NewValue0(v.Line, OpCtz32, config.fe.TypeUInt32())
-               v9 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpCtz32, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v9.AddArg(x)
                v8.AddArg(v9)
                v4.AddArg(v8)
@@ -411,19 +411,19 @@ func rewriteValuedec64_OpEq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpAndB)
-               v0 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v4.AddArg(x)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v5.AddArg(y)
                v3.AddArg(v5)
                v.AddArg(v3)
@@ -440,28 +440,28 @@ func rewriteValuedec64_OpGeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpOrB)
-               v0 := b.NewValue0(v.Line, OpGreater32, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpGreater32, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpAndB, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v5 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpAndB, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v5 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
-               v7 := b.NewValue0(v.Line, OpGeq32U, config.fe.TypeBool())
-               v8 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpGeq32U, config.fe.TypeBool())
+               v8 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v8.AddArg(x)
                v7.AddArg(v8)
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(y)
                v7.AddArg(v9)
                v3.AddArg(v7)
@@ -479,28 +479,28 @@ func rewriteValuedec64_OpGeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpOrB)
-               v0 := b.NewValue0(v.Line, OpGreater32U, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpGreater32U, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpAndB, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v5 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpAndB, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v5 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
-               v7 := b.NewValue0(v.Line, OpGeq32U, config.fe.TypeBool())
-               v8 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpGeq32U, config.fe.TypeBool())
+               v8 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v8.AddArg(x)
                v7.AddArg(v8)
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(y)
                v7.AddArg(v9)
                v3.AddArg(v7)
@@ -518,28 +518,28 @@ func rewriteValuedec64_OpGreater64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpOrB)
-               v0 := b.NewValue0(v.Line, OpGreater32, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpGreater32, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpAndB, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v5 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpAndB, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v5 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
-               v7 := b.NewValue0(v.Line, OpGreater32U, config.fe.TypeBool())
-               v8 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpGreater32U, config.fe.TypeBool())
+               v8 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v8.AddArg(x)
                v7.AddArg(v8)
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(y)
                v7.AddArg(v9)
                v3.AddArg(v7)
@@ -557,28 +557,28 @@ func rewriteValuedec64_OpGreater64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpOrB)
-               v0 := b.NewValue0(v.Line, OpGreater32U, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpGreater32U, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpAndB, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v5 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpAndB, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v5 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
-               v7 := b.NewValue0(v.Line, OpGreater32U, config.fe.TypeBool())
-               v8 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpGreater32U, config.fe.TypeBool())
+               v8 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v8.AddArg(x)
                v7.AddArg(v8)
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(y)
                v7.AddArg(v9)
                v3.AddArg(v7)
@@ -634,28 +634,28 @@ func rewriteValuedec64_OpLeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpOrB)
-               v0 := b.NewValue0(v.Line, OpLess32, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpLess32, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpAndB, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v5 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpAndB, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v5 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
-               v7 := b.NewValue0(v.Line, OpLeq32U, config.fe.TypeBool())
-               v8 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpLeq32U, config.fe.TypeBool())
+               v8 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v8.AddArg(x)
                v7.AddArg(v8)
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(y)
                v7.AddArg(v9)
                v3.AddArg(v7)
@@ -673,28 +673,28 @@ func rewriteValuedec64_OpLeq64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpOrB)
-               v0 := b.NewValue0(v.Line, OpLess32U, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpLess32U, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpAndB, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v5 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpAndB, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v5 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
-               v7 := b.NewValue0(v.Line, OpLeq32U, config.fe.TypeBool())
-               v8 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpLeq32U, config.fe.TypeBool())
+               v8 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v8.AddArg(x)
                v7.AddArg(v8)
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(y)
                v7.AddArg(v9)
                v3.AddArg(v7)
@@ -712,28 +712,28 @@ func rewriteValuedec64_OpLess64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpOrB)
-               v0 := b.NewValue0(v.Line, OpLess32, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpLess32, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpAndB, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v5 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpAndB, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v5 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
-               v7 := b.NewValue0(v.Line, OpLess32U, config.fe.TypeBool())
-               v8 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpLess32U, config.fe.TypeBool())
+               v8 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v8.AddArg(x)
                v7.AddArg(v8)
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(y)
                v7.AddArg(v9)
                v3.AddArg(v7)
@@ -751,28 +751,28 @@ func rewriteValuedec64_OpLess64U(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpOrB)
-               v0 := b.NewValue0(v.Line, OpLess32U, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpLess32U, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpAndB, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpEq32, config.fe.TypeBool())
-               v5 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpAndB, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpEq32, config.fe.TypeBool())
+               v5 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
-               v7 := b.NewValue0(v.Line, OpLess32U, config.fe.TypeBool())
-               v8 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpLess32U, config.fe.TypeBool())
+               v8 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v8.AddArg(x)
                v7.AddArg(v8)
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(y)
                v7.AddArg(v9)
                v3.AddArg(v7)
@@ -794,14 +794,14 @@ func rewriteValuedec64_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt32().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeInt32().PtrTo())
                v1.AuxInt = 4
                v1.AddArg(ptr)
                v0.AddArg(v1)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpLoad, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeUInt32())
                v2.AddArg(ptr)
                v2.AddArg(mem)
                v.AddArg(v2)
@@ -818,14 +818,14 @@ func rewriteValuedec64_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeUInt32().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeUInt32().PtrTo())
                v1.AuxInt = 4
                v1.AddArg(ptr)
                v0.AddArg(v1)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpLoad, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeUInt32())
                v2.AddArg(ptr)
                v2.AddArg(mem)
                v.AddArg(v2)
@@ -842,12 +842,12 @@ func rewriteValuedec64_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeInt32())
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeUInt32().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeUInt32().PtrTo())
                v2.AuxInt = 4
                v2.AddArg(ptr)
                v1.AddArg(v2)
@@ -866,12 +866,12 @@ func rewriteValuedec64_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeUInt32())
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeUInt32().PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, config.fe.TypeUInt32().PtrTo())
                v2.AuxInt = 4
                v2.AddArg(ptr)
                v1.AddArg(v2)
@@ -899,30 +899,30 @@ func rewriteValuedec64_OpLrot64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpLsh32x32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpLsh32x32, config.fe.TypeUInt32())
                v1.AddArg(hi)
-               v2 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v2.AuxInt = c
                v1.AddArg(v2)
                v0.AddArg(v1)
-               v3 := b.NewValue0(v.Line, OpRsh32Ux32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux32, config.fe.TypeUInt32())
                v3.AddArg(lo)
-               v4 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v4.AuxInt = 32 - c
                v3.AddArg(v4)
                v0.AddArg(v3)
                v.AddArg(v0)
-               v5 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v6 := b.NewValue0(v.Line, OpLsh32x32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpLsh32x32, config.fe.TypeUInt32())
                v6.AddArg(lo)
-               v7 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v7.AuxInt = c
                v6.AddArg(v7)
                v5.AddArg(v6)
-               v8 := b.NewValue0(v.Line, OpRsh32Ux32, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpRsh32Ux32, config.fe.TypeUInt32())
                v8.AddArg(hi)
-               v9 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v9.AuxInt = 32 - c
                v8.AddArg(v9)
                v5.AddArg(v8)
@@ -945,7 +945,7 @@ func rewriteValuedec64_OpLrot64(v *Value, config *Config) bool {
                }
                v.reset(OpLrot64)
                v.AuxInt = c - 32
-               v0 := b.NewValue0(v.Line, OpInt64Make, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpInt64Make, config.fe.TypeUInt64())
                v0.AddArg(lo)
                v0.AddArg(hi)
                v.AddArg(v0)
@@ -1014,8 +1014,8 @@ func rewriteValuedec64_OpLsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh16x32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -1085,8 +1085,8 @@ func rewriteValuedec64_OpLsh32x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh32x32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -1110,33 +1110,33 @@ func rewriteValuedec64_OpLsh64x16(v *Value, config *Config) bool {
                lo := v_0.Args[1]
                s := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpLsh32x16, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpLsh32x16, config.fe.TypeUInt32())
                v2.AddArg(hi)
                v2.AddArg(s)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpRsh32Ux16, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux16, config.fe.TypeUInt32())
                v3.AddArg(lo)
-               v4 := b.NewValue0(v.Line, OpSub16, config.fe.TypeUInt16())
-               v5 := b.NewValue0(v.Line, OpConst16, config.fe.TypeUInt16())
+               v4 := b.NewValue0(v.Pos, OpSub16, config.fe.TypeUInt16())
+               v5 := b.NewValue0(v.Pos, OpConst16, config.fe.TypeUInt16())
                v5.AuxInt = 32
                v4.AddArg(v5)
                v4.AddArg(s)
                v3.AddArg(v4)
                v1.AddArg(v3)
                v0.AddArg(v1)
-               v6 := b.NewValue0(v.Line, OpLsh32x16, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpLsh32x16, config.fe.TypeUInt32())
                v6.AddArg(lo)
-               v7 := b.NewValue0(v.Line, OpSub16, config.fe.TypeUInt16())
+               v7 := b.NewValue0(v.Pos, OpSub16, config.fe.TypeUInt16())
                v7.AddArg(s)
-               v8 := b.NewValue0(v.Line, OpConst16, config.fe.TypeUInt16())
+               v8 := b.NewValue0(v.Pos, OpConst16, config.fe.TypeUInt16())
                v8.AuxInt = 32
                v7.AddArg(v8)
                v6.AddArg(v7)
                v0.AddArg(v6)
                v.AddArg(v0)
-               v9 := b.NewValue0(v.Line, OpLsh32x16, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpLsh32x16, config.fe.TypeUInt32())
                v9.AddArg(lo)
                v9.AddArg(s)
                v.AddArg(v9)
@@ -1159,33 +1159,33 @@ func rewriteValuedec64_OpLsh64x32(v *Value, config *Config) bool {
                lo := v_0.Args[1]
                s := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpLsh32x32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpLsh32x32, config.fe.TypeUInt32())
                v2.AddArg(hi)
                v2.AddArg(s)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpRsh32Ux32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux32, config.fe.TypeUInt32())
                v3.AddArg(lo)
-               v4 := b.NewValue0(v.Line, OpSub32, config.fe.TypeUInt32())
-               v5 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpSub32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v5.AuxInt = 32
                v4.AddArg(v5)
                v4.AddArg(s)
                v3.AddArg(v4)
                v1.AddArg(v3)
                v0.AddArg(v1)
-               v6 := b.NewValue0(v.Line, OpLsh32x32, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpLsh32x32, config.fe.TypeUInt32())
                v6.AddArg(lo)
-               v7 := b.NewValue0(v.Line, OpSub32, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpSub32, config.fe.TypeUInt32())
                v7.AddArg(s)
-               v8 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v8.AuxInt = 32
                v7.AddArg(v8)
                v6.AddArg(v7)
                v0.AddArg(v6)
                v.AddArg(v0)
-               v9 := b.NewValue0(v.Line, OpLsh32x32, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpLsh32x32, config.fe.TypeUInt32())
                v9.AddArg(lo)
                v9.AddArg(s)
                v.AddArg(v9)
@@ -1254,8 +1254,8 @@ func rewriteValuedec64_OpLsh64x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh64x32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -1279,33 +1279,33 @@ func rewriteValuedec64_OpLsh64x8(v *Value, config *Config) bool {
                lo := v_0.Args[1]
                s := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpLsh32x8, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpLsh32x8, config.fe.TypeUInt32())
                v2.AddArg(hi)
                v2.AddArg(s)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpRsh32Ux8, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux8, config.fe.TypeUInt32())
                v3.AddArg(lo)
-               v4 := b.NewValue0(v.Line, OpSub8, config.fe.TypeUInt8())
-               v5 := b.NewValue0(v.Line, OpConst8, config.fe.TypeUInt8())
+               v4 := b.NewValue0(v.Pos, OpSub8, config.fe.TypeUInt8())
+               v5 := b.NewValue0(v.Pos, OpConst8, config.fe.TypeUInt8())
                v5.AuxInt = 32
                v4.AddArg(v5)
                v4.AddArg(s)
                v3.AddArg(v4)
                v1.AddArg(v3)
                v0.AddArg(v1)
-               v6 := b.NewValue0(v.Line, OpLsh32x8, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpLsh32x8, config.fe.TypeUInt32())
                v6.AddArg(lo)
-               v7 := b.NewValue0(v.Line, OpSub8, config.fe.TypeUInt8())
+               v7 := b.NewValue0(v.Pos, OpSub8, config.fe.TypeUInt8())
                v7.AddArg(s)
-               v8 := b.NewValue0(v.Line, OpConst8, config.fe.TypeUInt8())
+               v8 := b.NewValue0(v.Pos, OpConst8, config.fe.TypeUInt8())
                v8.AuxInt = 32
                v7.AddArg(v8)
                v6.AddArg(v7)
                v0.AddArg(v6)
                v.AddArg(v0)
-               v9 := b.NewValue0(v.Line, OpLsh32x8, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpLsh32x8, config.fe.TypeUInt32())
                v9.AddArg(lo)
                v9.AddArg(s)
                v.AddArg(v9)
@@ -1374,8 +1374,8 @@ func rewriteValuedec64_OpLsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh8x32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -1394,42 +1394,42 @@ func rewriteValuedec64_OpMul64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpAdd32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpMul32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpAdd32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpMul32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v2.AddArg(x)
                v1.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v3.AddArg(y)
                v1.AddArg(v3)
                v0.AddArg(v1)
-               v4 := b.NewValue0(v.Line, OpAdd32, config.fe.TypeUInt32())
-               v5 := b.NewValue0(v.Line, OpMul32, config.fe.TypeUInt32())
-               v6 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpAdd32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpMul32, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v6.AddArg(x)
                v5.AddArg(v6)
-               v7 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v7.AddArg(y)
                v5.AddArg(v7)
                v4.AddArg(v5)
-               v8 := b.NewValue0(v.Line, OpSelect0, config.fe.TypeUInt32())
-               v9 := b.NewValue0(v.Line, OpMul32uhilo, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v10 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpSelect0, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpMul32uhilo, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v10 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v10.AddArg(x)
                v9.AddArg(v10)
-               v11 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v11 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v11.AddArg(y)
                v9.AddArg(v11)
                v8.AddArg(v9)
                v4.AddArg(v8)
                v0.AddArg(v4)
                v.AddArg(v0)
-               v12 := b.NewValue0(v.Line, OpSelect1, config.fe.TypeUInt32())
-               v13 := b.NewValue0(v.Line, OpMul32uhilo, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
-               v14 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v12 := b.NewValue0(v.Pos, OpSelect1, config.fe.TypeUInt32())
+               v13 := b.NewValue0(v.Pos, OpMul32uhilo, MakeTuple(config.fe.TypeUInt32(), config.fe.TypeUInt32()))
+               v14 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v14.AddArg(x)
                v13.AddArg(v14)
-               v15 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v15 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v15.AddArg(y)
                v13.AddArg(v15)
                v12.AddArg(v13)
@@ -1447,7 +1447,7 @@ func rewriteValuedec64_OpNeg64(v *Value, config *Config) bool {
                t := v.Type
                x := v.Args[0]
                v.reset(OpSub64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(x)
@@ -1464,19 +1464,19 @@ func rewriteValuedec64_OpNeq64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpOrB)
-               v0 := b.NewValue0(v.Line, OpNeq32, config.fe.TypeBool())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpNeq32, config.fe.TypeBool())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpNeq32, config.fe.TypeBool())
-               v4 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpNeq32, config.fe.TypeBool())
+               v4 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v4.AddArg(x)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v5.AddArg(y)
                v3.AddArg(v5)
                v.AddArg(v3)
@@ -1493,19 +1493,19 @@ func rewriteValuedec64_OpOr64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v4 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v4.AddArg(x)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v5.AddArg(y)
                v3.AddArg(v5)
                v.AddArg(v3)
@@ -1573,8 +1573,8 @@ func rewriteValuedec64_OpRsh16Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh16Ux32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -1604,7 +1604,7 @@ func rewriteValuedec64_OpRsh16x64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSignmask)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -1647,8 +1647,8 @@ func rewriteValuedec64_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh16x32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -1718,8 +1718,8 @@ func rewriteValuedec64_OpRsh32Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh32Ux32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -1790,8 +1790,8 @@ func rewriteValuedec64_OpRsh32x64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh32x32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -1815,31 +1815,31 @@ func rewriteValuedec64_OpRsh64Ux16(v *Value, config *Config) bool {
                lo := v_0.Args[1]
                s := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpRsh32Ux16, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpRsh32Ux16, config.fe.TypeUInt32())
                v0.AddArg(hi)
                v0.AddArg(s)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpRsh32Ux16, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux16, config.fe.TypeUInt32())
                v3.AddArg(lo)
                v3.AddArg(s)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpLsh32x16, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpLsh32x16, config.fe.TypeUInt32())
                v4.AddArg(hi)
-               v5 := b.NewValue0(v.Line, OpSub16, config.fe.TypeUInt16())
-               v6 := b.NewValue0(v.Line, OpConst16, config.fe.TypeUInt16())
+               v5 := b.NewValue0(v.Pos, OpSub16, config.fe.TypeUInt16())
+               v6 := b.NewValue0(v.Pos, OpConst16, config.fe.TypeUInt16())
                v6.AuxInt = 32
                v5.AddArg(v6)
                v5.AddArg(s)
                v4.AddArg(v5)
                v2.AddArg(v4)
                v1.AddArg(v2)
-               v7 := b.NewValue0(v.Line, OpRsh32Ux16, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpRsh32Ux16, config.fe.TypeUInt32())
                v7.AddArg(hi)
-               v8 := b.NewValue0(v.Line, OpSub16, config.fe.TypeUInt16())
+               v8 := b.NewValue0(v.Pos, OpSub16, config.fe.TypeUInt16())
                v8.AddArg(s)
-               v9 := b.NewValue0(v.Line, OpConst16, config.fe.TypeUInt16())
+               v9 := b.NewValue0(v.Pos, OpConst16, config.fe.TypeUInt16())
                v9.AuxInt = 32
                v8.AddArg(v9)
                v7.AddArg(v8)
@@ -1864,31 +1864,31 @@ func rewriteValuedec64_OpRsh64Ux32(v *Value, config *Config) bool {
                lo := v_0.Args[1]
                s := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpRsh32Ux32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpRsh32Ux32, config.fe.TypeUInt32())
                v0.AddArg(hi)
                v0.AddArg(s)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpRsh32Ux32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux32, config.fe.TypeUInt32())
                v3.AddArg(lo)
                v3.AddArg(s)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpLsh32x32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpLsh32x32, config.fe.TypeUInt32())
                v4.AddArg(hi)
-               v5 := b.NewValue0(v.Line, OpSub32, config.fe.TypeUInt32())
-               v6 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpSub32, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v6.AuxInt = 32
                v5.AddArg(v6)
                v5.AddArg(s)
                v4.AddArg(v5)
                v2.AddArg(v4)
                v1.AddArg(v2)
-               v7 := b.NewValue0(v.Line, OpRsh32Ux32, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpRsh32Ux32, config.fe.TypeUInt32())
                v7.AddArg(hi)
-               v8 := b.NewValue0(v.Line, OpSub32, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpSub32, config.fe.TypeUInt32())
                v8.AddArg(s)
-               v9 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v9.AuxInt = 32
                v8.AddArg(v9)
                v7.AddArg(v8)
@@ -1959,8 +1959,8 @@ func rewriteValuedec64_OpRsh64Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh64Ux32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -1984,31 +1984,31 @@ func rewriteValuedec64_OpRsh64Ux8(v *Value, config *Config) bool {
                lo := v_0.Args[1]
                s := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpRsh32Ux8, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpRsh32Ux8, config.fe.TypeUInt32())
                v0.AddArg(hi)
                v0.AddArg(s)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpRsh32Ux8, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux8, config.fe.TypeUInt32())
                v3.AddArg(lo)
                v3.AddArg(s)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpLsh32x8, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpLsh32x8, config.fe.TypeUInt32())
                v4.AddArg(hi)
-               v5 := b.NewValue0(v.Line, OpSub8, config.fe.TypeUInt8())
-               v6 := b.NewValue0(v.Line, OpConst8, config.fe.TypeUInt8())
+               v5 := b.NewValue0(v.Pos, OpSub8, config.fe.TypeUInt8())
+               v6 := b.NewValue0(v.Pos, OpConst8, config.fe.TypeUInt8())
                v6.AuxInt = 32
                v5.AddArg(v6)
                v5.AddArg(s)
                v4.AddArg(v5)
                v2.AddArg(v4)
                v1.AddArg(v2)
-               v7 := b.NewValue0(v.Line, OpRsh32Ux8, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpRsh32Ux8, config.fe.TypeUInt32())
                v7.AddArg(hi)
-               v8 := b.NewValue0(v.Line, OpSub8, config.fe.TypeUInt8())
+               v8 := b.NewValue0(v.Pos, OpSub8, config.fe.TypeUInt8())
                v8.AddArg(s)
-               v9 := b.NewValue0(v.Line, OpConst8, config.fe.TypeUInt8())
+               v9 := b.NewValue0(v.Pos, OpConst8, config.fe.TypeUInt8())
                v9.AuxInt = 32
                v8.AddArg(v9)
                v7.AddArg(v8)
@@ -2033,41 +2033,41 @@ func rewriteValuedec64_OpRsh64x16(v *Value, config *Config) bool {
                lo := v_0.Args[1]
                s := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpRsh32x16, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpRsh32x16, config.fe.TypeUInt32())
                v0.AddArg(hi)
                v0.AddArg(s)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpRsh32Ux16, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux16, config.fe.TypeUInt32())
                v3.AddArg(lo)
                v3.AddArg(s)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpLsh32x16, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpLsh32x16, config.fe.TypeUInt32())
                v4.AddArg(hi)
-               v5 := b.NewValue0(v.Line, OpSub16, config.fe.TypeUInt16())
-               v6 := b.NewValue0(v.Line, OpConst16, config.fe.TypeUInt16())
+               v5 := b.NewValue0(v.Pos, OpSub16, config.fe.TypeUInt16())
+               v6 := b.NewValue0(v.Pos, OpConst16, config.fe.TypeUInt16())
                v6.AuxInt = 32
                v5.AddArg(v6)
                v5.AddArg(s)
                v4.AddArg(v5)
                v2.AddArg(v4)
                v1.AddArg(v2)
-               v7 := b.NewValue0(v.Line, OpAnd32, config.fe.TypeUInt32())
-               v8 := b.NewValue0(v.Line, OpRsh32x16, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpAnd32, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpRsh32x16, config.fe.TypeUInt32())
                v8.AddArg(hi)
-               v9 := b.NewValue0(v.Line, OpSub16, config.fe.TypeUInt16())
+               v9 := b.NewValue0(v.Pos, OpSub16, config.fe.TypeUInt16())
                v9.AddArg(s)
-               v10 := b.NewValue0(v.Line, OpConst16, config.fe.TypeUInt16())
+               v10 := b.NewValue0(v.Pos, OpConst16, config.fe.TypeUInt16())
                v10.AuxInt = 32
                v9.AddArg(v10)
                v8.AddArg(v9)
                v7.AddArg(v8)
-               v11 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
-               v12 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
-               v13 := b.NewValue0(v.Line, OpRsh16Ux32, config.fe.TypeUInt16())
+               v11 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
+               v12 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
+               v13 := b.NewValue0(v.Pos, OpRsh16Ux32, config.fe.TypeUInt16())
                v13.AddArg(s)
-               v14 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v14 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v14.AuxInt = 5
                v13.AddArg(v14)
                v12.AddArg(v13)
@@ -2094,40 +2094,40 @@ func rewriteValuedec64_OpRsh64x32(v *Value, config *Config) bool {
                lo := v_0.Args[1]
                s := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpRsh32x32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpRsh32x32, config.fe.TypeUInt32())
                v0.AddArg(hi)
                v0.AddArg(s)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpRsh32Ux32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux32, config.fe.TypeUInt32())
                v3.AddArg(lo)
                v3.AddArg(s)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpLsh32x32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpLsh32x32, config.fe.TypeUInt32())
                v4.AddArg(hi)
-               v5 := b.NewValue0(v.Line, OpSub32, config.fe.TypeUInt32())
-               v6 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpSub32, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v6.AuxInt = 32
                v5.AddArg(v6)
                v5.AddArg(s)
                v4.AddArg(v5)
                v2.AddArg(v4)
                v1.AddArg(v2)
-               v7 := b.NewValue0(v.Line, OpAnd32, config.fe.TypeUInt32())
-               v8 := b.NewValue0(v.Line, OpRsh32x32, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpAnd32, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpRsh32x32, config.fe.TypeUInt32())
                v8.AddArg(hi)
-               v9 := b.NewValue0(v.Line, OpSub32, config.fe.TypeUInt32())
+               v9 := b.NewValue0(v.Pos, OpSub32, config.fe.TypeUInt32())
                v9.AddArg(s)
-               v10 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v10 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v10.AuxInt = 32
                v9.AddArg(v10)
                v8.AddArg(v9)
                v7.AddArg(v8)
-               v11 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
-               v12 := b.NewValue0(v.Line, OpRsh32Ux32, config.fe.TypeUInt32())
+               v11 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
+               v12 := b.NewValue0(v.Pos, OpRsh32Ux32, config.fe.TypeUInt32())
                v12.AddArg(s)
-               v13 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v13 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v13.AuxInt = 5
                v12.AddArg(v13)
                v11.AddArg(v12)
@@ -2159,13 +2159,13 @@ func rewriteValuedec64_OpRsh64x64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
-               v3 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
+               v3 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v3.AddArg(x)
                v2.AddArg(v3)
                v.AddArg(v2)
@@ -2209,8 +2209,8 @@ func rewriteValuedec64_OpRsh64x64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh64x32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -2234,41 +2234,41 @@ func rewriteValuedec64_OpRsh64x8(v *Value, config *Config) bool {
                lo := v_0.Args[1]
                s := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpRsh32x8, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpRsh32x8, config.fe.TypeUInt32())
                v0.AddArg(hi)
                v0.AddArg(s)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v2 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v3 := b.NewValue0(v.Line, OpRsh32Ux8, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpRsh32Ux8, config.fe.TypeUInt32())
                v3.AddArg(lo)
                v3.AddArg(s)
                v2.AddArg(v3)
-               v4 := b.NewValue0(v.Line, OpLsh32x8, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpLsh32x8, config.fe.TypeUInt32())
                v4.AddArg(hi)
-               v5 := b.NewValue0(v.Line, OpSub8, config.fe.TypeUInt8())
-               v6 := b.NewValue0(v.Line, OpConst8, config.fe.TypeUInt8())
+               v5 := b.NewValue0(v.Pos, OpSub8, config.fe.TypeUInt8())
+               v6 := b.NewValue0(v.Pos, OpConst8, config.fe.TypeUInt8())
                v6.AuxInt = 32
                v5.AddArg(v6)
                v5.AddArg(s)
                v4.AddArg(v5)
                v2.AddArg(v4)
                v1.AddArg(v2)
-               v7 := b.NewValue0(v.Line, OpAnd32, config.fe.TypeUInt32())
-               v8 := b.NewValue0(v.Line, OpRsh32x8, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpAnd32, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpRsh32x8, config.fe.TypeUInt32())
                v8.AddArg(hi)
-               v9 := b.NewValue0(v.Line, OpSub8, config.fe.TypeUInt8())
+               v9 := b.NewValue0(v.Pos, OpSub8, config.fe.TypeUInt8())
                v9.AddArg(s)
-               v10 := b.NewValue0(v.Line, OpConst8, config.fe.TypeUInt8())
+               v10 := b.NewValue0(v.Pos, OpConst8, config.fe.TypeUInt8())
                v10.AuxInt = 32
                v9.AddArg(v10)
                v8.AddArg(v9)
                v7.AddArg(v8)
-               v11 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
-               v12 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
-               v13 := b.NewValue0(v.Line, OpRsh8Ux32, config.fe.TypeUInt8())
+               v11 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
+               v12 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
+               v13 := b.NewValue0(v.Pos, OpRsh8Ux32, config.fe.TypeUInt8())
                v13.AddArg(s)
-               v14 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v14 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v14.AuxInt = 5
                v13.AddArg(v14)
                v12.AddArg(v13)
@@ -2341,8 +2341,8 @@ func rewriteValuedec64_OpRsh8Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh8Ux32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -2372,7 +2372,7 @@ func rewriteValuedec64_OpRsh8x64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSignmask)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -2415,8 +2415,8 @@ func rewriteValuedec64_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh8x32)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpOr32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpZeromask, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpOr32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpZeromask, config.fe.TypeUInt32())
                v1.AddArg(hi)
                v0.AddArg(v1)
                v0.AddArg(lo)
@@ -2434,7 +2434,7 @@ func rewriteValuedec64_OpSignExt16to64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpSignExt32to64)
-               v0 := b.NewValue0(v.Line, OpSignExt16to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt16to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -2449,7 +2449,7 @@ func rewriteValuedec64_OpSignExt32to64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpSignmask, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignmask, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                v.AddArg(x)
@@ -2465,7 +2465,7 @@ func rewriteValuedec64_OpSignExt8to64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpSignExt32to64)
-               v0 := b.NewValue0(v.Line, OpSignExt8to32, config.fe.TypeInt32())
+               v0 := b.NewValue0(v.Pos, OpSignExt8to32, config.fe.TypeInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -2494,12 +2494,12 @@ func rewriteValuedec64_OpStore(v *Value, config *Config) bool {
                }
                v.reset(OpStore)
                v.AuxInt = 4
-               v0 := b.NewValue0(v.Line, OpOffPtr, hi.Type.PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, hi.Type.PtrTo())
                v0.AuxInt = 4
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(hi)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
                v1.AddArg(lo)
@@ -2527,12 +2527,12 @@ func rewriteValuedec64_OpStore(v *Value, config *Config) bool {
                }
                v.reset(OpStore)
                v.AuxInt = 4
-               v0 := b.NewValue0(v.Line, OpOffPtr, lo.Type.PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, lo.Type.PtrTo())
                v0.AuxInt = 4
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(lo)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = 4
                v1.AddArg(dst)
                v1.AddArg(hi)
@@ -2552,30 +2552,30 @@ func rewriteValuedec64_OpSub64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpSub32withcarry, config.fe.TypeInt32())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpSub32withcarry, config.fe.TypeInt32())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpSelect1, TypeFlags)
-               v4 := b.NewValue0(v.Line, OpSub32carry, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
-               v5 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpSelect1, TypeFlags)
+               v4 := b.NewValue0(v.Pos, OpSub32carry, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
+               v5 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v5.AddArg(x)
                v4.AddArg(v5)
-               v6 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v6 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v6.AddArg(y)
                v4.AddArg(v6)
                v3.AddArg(v4)
                v0.AddArg(v3)
                v.AddArg(v0)
-               v7 := b.NewValue0(v.Line, OpSelect0, config.fe.TypeUInt32())
-               v8 := b.NewValue0(v.Line, OpSub32carry, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
-               v9 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v7 := b.NewValue0(v.Pos, OpSelect0, config.fe.TypeUInt32())
+               v8 := b.NewValue0(v.Pos, OpSub32carry, MakeTuple(config.fe.TypeUInt32(), TypeFlags))
+               v9 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v9.AddArg(x)
                v8.AddArg(v9)
-               v10 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v10 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v10.AddArg(y)
                v8.AddArg(v10)
                v7.AddArg(v8)
@@ -2648,19 +2648,19 @@ func rewriteValuedec64_OpXor64(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpXor32, config.fe.TypeUInt32())
-               v1 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpXor32, config.fe.TypeUInt32())
+               v1 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v1.AddArg(x)
                v0.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpInt64Hi, config.fe.TypeUInt32())
+               v2 := b.NewValue0(v.Pos, OpInt64Hi, config.fe.TypeUInt32())
                v2.AddArg(y)
                v0.AddArg(v2)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpXor32, config.fe.TypeUInt32())
-               v4 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v3 := b.NewValue0(v.Pos, OpXor32, config.fe.TypeUInt32())
+               v4 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v4.AddArg(x)
                v3.AddArg(v4)
-               v5 := b.NewValue0(v.Line, OpInt64Lo, config.fe.TypeUInt32())
+               v5 := b.NewValue0(v.Pos, OpInt64Lo, config.fe.TypeUInt32())
                v5.AddArg(y)
                v3.AddArg(v5)
                v.AddArg(v3)
@@ -2676,7 +2676,7 @@ func rewriteValuedec64_OpZeroExt16to64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpZeroExt32to64)
-               v0 := b.NewValue0(v.Line, OpZeroExt16to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt16to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
@@ -2691,7 +2691,7 @@ func rewriteValuedec64_OpZeroExt32to64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpInt64Make)
-               v0 := b.NewValue0(v.Line, OpConst32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeUInt32())
                v0.AuxInt = 0
                v.AddArg(v0)
                v.AddArg(x)
@@ -2707,7 +2707,7 @@ func rewriteValuedec64_OpZeroExt8to64(v *Value, config *Config) bool {
        for {
                x := v.Args[0]
                v.reset(OpZeroExt32to64)
-               v0 := b.NewValue0(v.Line, OpZeroExt8to32, config.fe.TypeUInt32())
+               v0 := b.NewValue0(v.Pos, OpZeroExt8to32, config.fe.TypeUInt32())
                v0.AddArg(x)
                v.AddArg(v0)
                return true
index 0d582436aee5384476b26218e363a2941edd12a8..0fde363b3eefeae160436528823c6b3aae7ac31c 100644 (file)
@@ -431,7 +431,7 @@ func rewriteValuegeneric_OpAdd16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAdd16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -492,7 +492,7 @@ func rewriteValuegeneric_OpAdd32(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAdd32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -610,7 +610,7 @@ func rewriteValuegeneric_OpAdd64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAdd64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -728,7 +728,7 @@ func rewriteValuegeneric_OpAdd8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAdd8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -793,7 +793,7 @@ func rewriteValuegeneric_OpAnd16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAnd16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -936,7 +936,7 @@ func rewriteValuegeneric_OpAnd32(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAnd32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -1079,7 +1079,7 @@ func rewriteValuegeneric_OpAnd64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAnd64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -1217,13 +1217,13 @@ func rewriteValuegeneric_OpAnd64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpRsh64Ux64)
-               v0 := b.NewValue0(v.Line, OpLsh64x64, t)
+               v0 := b.NewValue0(v.Pos, OpLsh64x64, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpConst64, t)
+               v1 := b.NewValue0(v.Pos, OpConst64, t)
                v1.AuxInt = nlz(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = nlz(y)
                v.AddArg(v2)
                return true
@@ -1243,13 +1243,13 @@ func rewriteValuegeneric_OpAnd64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpLsh64x64)
-               v0 := b.NewValue0(v.Line, OpRsh64Ux64, t)
+               v0 := b.NewValue0(v.Pos, OpRsh64Ux64, t)
                v0.AddArg(x)
-               v1 := b.NewValue0(v.Line, OpConst64, t)
+               v1 := b.NewValue0(v.Pos, OpConst64, t)
                v1.AuxInt = ntz(y)
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = ntz(y)
                v.AddArg(v2)
                return true
@@ -1274,7 +1274,7 @@ func rewriteValuegeneric_OpAnd8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAnd8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -1412,11 +1412,11 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStringMake)
-               v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpArg, config.fe.TypeBytePtr())
                v0.AuxInt = off
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeInt())
+               v1 := b.NewValue0(v.Pos, OpArg, config.fe.TypeInt())
                v1.AuxInt = off + config.PtrSize
                v1.Aux = n
                v.AddArg(v1)
@@ -1432,15 +1432,15 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSliceMake)
-               v0 := b.NewValue0(v.Line, OpArg, v.Type.ElemType().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpArg, v.Type.ElemType().PtrTo())
                v0.AuxInt = off
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeInt())
+               v1 := b.NewValue0(v.Pos, OpArg, config.fe.TypeInt())
                v1.AuxInt = off + config.PtrSize
                v1.Aux = n
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpArg, config.fe.TypeInt())
+               v2 := b.NewValue0(v.Pos, OpArg, config.fe.TypeInt())
                v2.AuxInt = off + 2*config.PtrSize
                v2.Aux = n
                v.AddArg(v2)
@@ -1456,11 +1456,11 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpIMake)
-               v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpArg, config.fe.TypeBytePtr())
                v0.AuxInt = off
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeBytePtr())
+               v1 := b.NewValue0(v.Pos, OpArg, config.fe.TypeBytePtr())
                v1.AuxInt = off + config.PtrSize
                v1.Aux = n
                v.AddArg(v1)
@@ -1476,11 +1476,11 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpComplexMake)
-               v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeFloat64())
+               v0 := b.NewValue0(v.Pos, OpArg, config.fe.TypeFloat64())
                v0.AuxInt = off
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeFloat64())
+               v1 := b.NewValue0(v.Pos, OpArg, config.fe.TypeFloat64())
                v1.AuxInt = off + 8
                v1.Aux = n
                v.AddArg(v1)
@@ -1496,11 +1496,11 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpComplexMake)
-               v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeFloat32())
+               v0 := b.NewValue0(v.Pos, OpArg, config.fe.TypeFloat32())
                v0.AuxInt = off
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeFloat32())
+               v1 := b.NewValue0(v.Pos, OpArg, config.fe.TypeFloat32())
                v1.AuxInt = off + 4
                v1.Aux = n
                v.AddArg(v1)
@@ -1528,7 +1528,7 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStructMake1)
-               v0 := b.NewValue0(v.Line, OpArg, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpArg, t.FieldType(0))
                v0.AuxInt = off + t.FieldOff(0)
                v0.Aux = n
                v.AddArg(v0)
@@ -1545,11 +1545,11 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStructMake2)
-               v0 := b.NewValue0(v.Line, OpArg, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpArg, t.FieldType(0))
                v0.AuxInt = off + t.FieldOff(0)
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, t.FieldType(1))
+               v1 := b.NewValue0(v.Pos, OpArg, t.FieldType(1))
                v1.AuxInt = off + t.FieldOff(1)
                v1.Aux = n
                v.AddArg(v1)
@@ -1566,15 +1566,15 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStructMake3)
-               v0 := b.NewValue0(v.Line, OpArg, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpArg, t.FieldType(0))
                v0.AuxInt = off + t.FieldOff(0)
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, t.FieldType(1))
+               v1 := b.NewValue0(v.Pos, OpArg, t.FieldType(1))
                v1.AuxInt = off + t.FieldOff(1)
                v1.Aux = n
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpArg, t.FieldType(2))
+               v2 := b.NewValue0(v.Pos, OpArg, t.FieldType(2))
                v2.AuxInt = off + t.FieldOff(2)
                v2.Aux = n
                v.AddArg(v2)
@@ -1591,19 +1591,19 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStructMake4)
-               v0 := b.NewValue0(v.Line, OpArg, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpArg, t.FieldType(0))
                v0.AuxInt = off + t.FieldOff(0)
                v0.Aux = n
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpArg, t.FieldType(1))
+               v1 := b.NewValue0(v.Pos, OpArg, t.FieldType(1))
                v1.AuxInt = off + t.FieldOff(1)
                v1.Aux = n
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpArg, t.FieldType(2))
+               v2 := b.NewValue0(v.Pos, OpArg, t.FieldType(2))
                v2.AuxInt = off + t.FieldOff(2)
                v2.Aux = n
                v.AddArg(v2)
-               v3 := b.NewValue0(v.Line, OpArg, t.FieldType(3))
+               v3 := b.NewValue0(v.Pos, OpArg, t.FieldType(3))
                v3.AuxInt = off + t.FieldOff(3)
                v3.Aux = n
                v.AddArg(v3)
@@ -1631,7 +1631,7 @@ func rewriteValuegeneric_OpArg(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpArrayMake1)
-               v0 := b.NewValue0(v.Line, OpArg, t.ElemType())
+               v0 := b.NewValue0(v.Pos, OpArg, t.ElemType())
                v0.AuxInt = off
                v0.Aux = n
                v.AddArg(v0)
@@ -1776,9 +1776,9 @@ func rewriteValuegeneric_OpConstInterface(v *Value, config *Config) bool {
        // result: (IMake     (ConstNil <config.fe.TypeBytePtr()>)     (ConstNil <config.fe.TypeBytePtr()>))
        for {
                v.reset(OpIMake)
-               v0 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpConstNil, config.fe.TypeBytePtr())
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
+               v1 := b.NewValue0(v.Pos, OpConstNil, config.fe.TypeBytePtr())
                v.AddArg(v1)
                return true
        }
@@ -1794,12 +1794,12 @@ func rewriteValuegeneric_OpConstSlice(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSliceMake)
-               v0 := b.NewValue0(v.Line, OpConstNil, v.Type.ElemType().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpConstNil, v.Type.ElemType().PtrTo())
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
+               v1 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeInt())
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
+               v2 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeInt())
                v2.AuxInt = 0
                v.AddArg(v2)
                return true
@@ -1812,12 +1812,12 @@ func rewriteValuegeneric_OpConstSlice(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpSliceMake)
-               v0 := b.NewValue0(v.Line, OpConstNil, v.Type.ElemType().PtrTo())
+               v0 := b.NewValue0(v.Pos, OpConstNil, v.Type.ElemType().PtrTo())
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
+               v1 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeInt())
                v1.AuxInt = 0
                v.AddArg(v1)
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeInt())
                v2.AuxInt = 0
                v.AddArg(v2)
                return true
@@ -1836,9 +1836,9 @@ func rewriteValuegeneric_OpConstString(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStringMake)
-               v0 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpConstNil, config.fe.TypeBytePtr())
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
+               v1 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeInt())
                v1.AuxInt = 0
                v.AddArg(v1)
                return true
@@ -1852,9 +1852,9 @@ func rewriteValuegeneric_OpConstString(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStringMake)
-               v0 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpConstNil, config.fe.TypeBytePtr())
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
+               v1 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeInt())
                v1.AuxInt = 0
                v.AddArg(v1)
                return true
@@ -1868,12 +1868,12 @@ func rewriteValuegeneric_OpConstString(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStringMake)
-               v0 := b.NewValue0(v.Line, OpAddr, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpAddr, config.fe.TypeBytePtr())
                v0.Aux = config.fe.StringData(s.(string))
-               v1 := b.NewValue0(v.Line, OpSB, config.fe.TypeUintptr())
+               v1 := b.NewValue0(v.Pos, OpSB, config.fe.TypeUintptr())
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
+               v2 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeInt())
                v2.AuxInt = int64(len(s.(string)))
                v.AddArg(v2)
                return true
@@ -1887,12 +1887,12 @@ func rewriteValuegeneric_OpConstString(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStringMake)
-               v0 := b.NewValue0(v.Line, OpAddr, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpAddr, config.fe.TypeBytePtr())
                v0.Aux = config.fe.StringData(s.(string))
-               v1 := b.NewValue0(v.Line, OpSB, config.fe.TypeUintptr())
+               v1 := b.NewValue0(v.Pos, OpSB, config.fe.TypeUintptr())
                v0.AddArg(v1)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
+               v2 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeInt())
                v2.AuxInt = int64(len(s.(string)))
                v.AddArg(v2)
                return true
@@ -2061,20 +2061,20 @@ func rewriteValuegeneric_OpDiv64(v *Value, config *Config) bool {
                }
                v.reset(OpSub64)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpRsh64x64, t)
-               v1 := b.NewValue0(v.Line, OpHmul64, t)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpRsh64x64, t)
+               v1 := b.NewValue0(v.Pos, OpHmul64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = smagic64m(c)
                v1.AddArg(v2)
                v1.AddArg(x)
                v0.AddArg(v1)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = smagic64s(c)
                v0.AddArg(v3)
                v.AddArg(v0)
-               v4 := b.NewValue0(v.Line, OpRsh64x64, t)
+               v4 := b.NewValue0(v.Pos, OpRsh64x64, t)
                v4.AddArg(x)
-               v5 := b.NewValue0(v.Line, OpConst64, t)
+               v5 := b.NewValue0(v.Pos, OpConst64, t)
                v5.AuxInt = 63
                v4.AddArg(v5)
                v.AddArg(v4)
@@ -2096,23 +2096,23 @@ func rewriteValuegeneric_OpDiv64(v *Value, config *Config) bool {
                }
                v.reset(OpSub64)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpRsh64x64, t)
-               v1 := b.NewValue0(v.Line, OpAdd64, t)
-               v2 := b.NewValue0(v.Line, OpHmul64, t)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpRsh64x64, t)
+               v1 := b.NewValue0(v.Pos, OpAdd64, t)
+               v2 := b.NewValue0(v.Pos, OpHmul64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = smagic64m(c)
                v2.AddArg(v3)
                v2.AddArg(x)
                v1.AddArg(v2)
                v1.AddArg(x)
                v0.AddArg(v1)
-               v4 := b.NewValue0(v.Line, OpConst64, t)
+               v4 := b.NewValue0(v.Pos, OpConst64, t)
                v4.AuxInt = smagic64s(c)
                v0.AddArg(v4)
                v.AddArg(v0)
-               v5 := b.NewValue0(v.Line, OpRsh64x64, t)
+               v5 := b.NewValue0(v.Pos, OpRsh64x64, t)
                v5.AddArg(x)
-               v6 := b.NewValue0(v.Line, OpConst64, t)
+               v6 := b.NewValue0(v.Pos, OpConst64, t)
                v6.AuxInt = 63
                v5.AddArg(v6)
                v.AddArg(v5)
@@ -2134,21 +2134,21 @@ func rewriteValuegeneric_OpDiv64(v *Value, config *Config) bool {
                }
                v.reset(OpNeg64)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpSub64, t)
-               v1 := b.NewValue0(v.Line, OpRsh64x64, t)
-               v2 := b.NewValue0(v.Line, OpHmul64, t)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpSub64, t)
+               v1 := b.NewValue0(v.Pos, OpRsh64x64, t)
+               v2 := b.NewValue0(v.Pos, OpHmul64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = smagic64m(c)
                v2.AddArg(v3)
                v2.AddArg(x)
                v1.AddArg(v2)
-               v4 := b.NewValue0(v.Line, OpConst64, t)
+               v4 := b.NewValue0(v.Pos, OpConst64, t)
                v4.AuxInt = smagic64s(c)
                v1.AddArg(v4)
                v0.AddArg(v1)
-               v5 := b.NewValue0(v.Line, OpRsh64x64, t)
+               v5 := b.NewValue0(v.Pos, OpRsh64x64, t)
                v5.AddArg(x)
-               v6 := b.NewValue0(v.Line, OpConst64, t)
+               v6 := b.NewValue0(v.Pos, OpConst64, t)
                v6.AuxInt = 63
                v5.AddArg(v6)
                v0.AddArg(v5)
@@ -2171,24 +2171,24 @@ func rewriteValuegeneric_OpDiv64(v *Value, config *Config) bool {
                }
                v.reset(OpNeg64)
                v.Type = t
-               v0 := b.NewValue0(v.Line, OpSub64, t)
-               v1 := b.NewValue0(v.Line, OpRsh64x64, t)
-               v2 := b.NewValue0(v.Line, OpAdd64, t)
-               v3 := b.NewValue0(v.Line, OpHmul64, t)
-               v4 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpSub64, t)
+               v1 := b.NewValue0(v.Pos, OpRsh64x64, t)
+               v2 := b.NewValue0(v.Pos, OpAdd64, t)
+               v3 := b.NewValue0(v.Pos, OpHmul64, t)
+               v4 := b.NewValue0(v.Pos, OpConst64, t)
                v4.AuxInt = smagic64m(c)
                v3.AddArg(v4)
                v3.AddArg(x)
                v2.AddArg(v3)
                v2.AddArg(x)
                v1.AddArg(v2)
-               v5 := b.NewValue0(v.Line, OpConst64, t)
+               v5 := b.NewValue0(v.Pos, OpConst64, t)
                v5.AuxInt = smagic64s(c)
                v1.AddArg(v5)
                v0.AddArg(v1)
-               v6 := b.NewValue0(v.Line, OpRsh64x64, t)
+               v6 := b.NewValue0(v.Pos, OpRsh64x64, t)
                v6.AddArg(x)
-               v7 := b.NewValue0(v.Line, OpConst64, t)
+               v7 := b.NewValue0(v.Pos, OpConst64, t)
                v7.AuxInt = 63
                v6.AddArg(v7)
                v0.AddArg(v6)
@@ -2254,7 +2254,7 @@ func rewriteValuegeneric_OpDiv64u(v *Value, config *Config) bool {
                }
                v.reset(OpRsh64Ux64)
                v.AddArg(n)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = log2(c)
                v.AddArg(v0)
                return true
@@ -2274,13 +2274,13 @@ func rewriteValuegeneric_OpDiv64u(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpRsh64Ux64)
-               v0 := b.NewValue0(v.Line, OpHmul64u, t)
-               v1 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpHmul64u, t)
+               v1 := b.NewValue0(v.Pos, OpConst64, t)
                v1.AuxInt = umagic64m(c)
                v0.AddArg(v1)
                v0.AddArg(x)
                v.AddArg(v0)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = umagic64s(c)
                v.AddArg(v2)
                return true
@@ -2300,16 +2300,16 @@ func rewriteValuegeneric_OpDiv64u(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpRsh64Ux64)
-               v0 := b.NewValue0(v.Line, OpAvg64u, t)
-               v1 := b.NewValue0(v.Line, OpHmul64u, t)
+               v0 := b.NewValue0(v.Pos, OpAvg64u, t)
+               v1 := b.NewValue0(v.Pos, OpHmul64u, t)
                v1.AddArg(x)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = umagic64m(c)
                v1.AddArg(v2)
                v0.AddArg(v1)
                v0.AddArg(x)
                v.AddArg(v0)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = umagic64s(c) - 1
                v.AddArg(v3)
                return true
@@ -2355,7 +2355,7 @@ func rewriteValuegeneric_OpEq16(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpEq16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c - d))
                v.AddArg(v0)
                v.AddArg(x)
@@ -2376,7 +2376,7 @@ func rewriteValuegeneric_OpEq16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpEq16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -2441,7 +2441,7 @@ func rewriteValuegeneric_OpEq32(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpEq32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c - d))
                v.AddArg(v0)
                v.AddArg(x)
@@ -2462,7 +2462,7 @@ func rewriteValuegeneric_OpEq32(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpEq32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -2527,7 +2527,7 @@ func rewriteValuegeneric_OpEq64(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpEq64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c - d
                v.AddArg(v0)
                v.AddArg(x)
@@ -2548,7 +2548,7 @@ func rewriteValuegeneric_OpEq64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpEq64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -2613,7 +2613,7 @@ func rewriteValuegeneric_OpEq8(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpEq8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c - d))
                v.AddArg(v0)
                v.AddArg(x)
@@ -2634,7 +2634,7 @@ func rewriteValuegeneric_OpEq8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpEq8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -2726,10 +2726,10 @@ func rewriteValuegeneric_OpEqInter(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpEqPtr)
-               v0 := b.NewValue0(v.Line, OpITab, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpITab, config.fe.TypeBytePtr())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpITab, config.fe.TypeBytePtr())
+               v1 := b.NewValue0(v.Pos, OpITab, config.fe.TypeBytePtr())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -2748,7 +2748,7 @@ func rewriteValuegeneric_OpEqPtr(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpNot)
-               v0 := b.NewValue0(v.Line, OpIsNonNil, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpIsNonNil, config.fe.TypeBool())
                v0.AddArg(p)
                v.AddArg(v0)
                return true
@@ -2763,7 +2763,7 @@ func rewriteValuegeneric_OpEqPtr(v *Value, config *Config) bool {
                }
                p := v.Args[1]
                v.reset(OpNot)
-               v0 := b.NewValue0(v.Line, OpIsNonNil, config.fe.TypeBool())
+               v0 := b.NewValue0(v.Pos, OpIsNonNil, config.fe.TypeBool())
                v0.AddArg(p)
                v.AddArg(v0)
                return true
@@ -2780,10 +2780,10 @@ func rewriteValuegeneric_OpEqSlice(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpEqPtr)
-               v0 := b.NewValue0(v.Line, OpSlicePtr, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpSlicePtr, config.fe.TypeBytePtr())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSlicePtr, config.fe.TypeBytePtr())
+               v1 := b.NewValue0(v.Pos, OpSlicePtr, config.fe.TypeBytePtr())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -3974,7 +3974,7 @@ func rewriteValuegeneric_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStructMake1)
-               v0 := b.NewValue0(v.Line, OpLoad, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpLoad, t.FieldType(0))
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -3991,12 +3991,12 @@ func rewriteValuegeneric_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStructMake2)
-               v0 := b.NewValue0(v.Line, OpLoad, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpLoad, t.FieldType(0))
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, t.FieldType(1))
-               v2 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(1).PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, t.FieldType(1))
+               v2 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo())
                v2.AuxInt = t.FieldOff(1)
                v2.AddArg(ptr)
                v1.AddArg(v2)
@@ -4015,19 +4015,19 @@ func rewriteValuegeneric_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStructMake3)
-               v0 := b.NewValue0(v.Line, OpLoad, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpLoad, t.FieldType(0))
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, t.FieldType(1))
-               v2 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(1).PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, t.FieldType(1))
+               v2 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo())
                v2.AuxInt = t.FieldOff(1)
                v2.AddArg(ptr)
                v1.AddArg(v2)
                v1.AddArg(mem)
                v.AddArg(v1)
-               v3 := b.NewValue0(v.Line, OpLoad, t.FieldType(2))
-               v4 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(2).PtrTo())
+               v3 := b.NewValue0(v.Pos, OpLoad, t.FieldType(2))
+               v4 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(2).PtrTo())
                v4.AuxInt = t.FieldOff(2)
                v4.AddArg(ptr)
                v3.AddArg(v4)
@@ -4046,26 +4046,26 @@ func rewriteValuegeneric_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpStructMake4)
-               v0 := b.NewValue0(v.Line, OpLoad, t.FieldType(0))
+               v0 := b.NewValue0(v.Pos, OpLoad, t.FieldType(0))
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpLoad, t.FieldType(1))
-               v2 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(1).PtrTo())
+               v1 := b.NewValue0(v.Pos, OpLoad, t.FieldType(1))
+               v2 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo())
                v2.AuxInt = t.FieldOff(1)
                v2.AddArg(ptr)
                v1.AddArg(v2)
                v1.AddArg(mem)
                v.AddArg(v1)
-               v3 := b.NewValue0(v.Line, OpLoad, t.FieldType(2))
-               v4 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(2).PtrTo())
+               v3 := b.NewValue0(v.Pos, OpLoad, t.FieldType(2))
+               v4 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(2).PtrTo())
                v4.AuxInt = t.FieldOff(2)
                v4.AddArg(ptr)
                v3.AddArg(v4)
                v3.AddArg(mem)
                v.AddArg(v3)
-               v5 := b.NewValue0(v.Line, OpLoad, t.FieldType(3))
-               v6 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(3).PtrTo())
+               v5 := b.NewValue0(v.Pos, OpLoad, t.FieldType(3))
+               v6 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(3).PtrTo())
                v6.AuxInt = t.FieldOff(3)
                v6.AddArg(ptr)
                v5.AddArg(v6)
@@ -4095,7 +4095,7 @@ func rewriteValuegeneric_OpLoad(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpArrayMake1)
-               v0 := b.NewValue0(v.Line, OpLoad, t.ElemType())
+               v0 := b.NewValue0(v.Pos, OpLoad, t.ElemType())
                v0.AddArg(ptr)
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -4119,7 +4119,7 @@ func rewriteValuegeneric_OpLsh16x16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh16x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -4157,7 +4157,7 @@ func rewriteValuegeneric_OpLsh16x32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh16x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -4273,7 +4273,7 @@ func rewriteValuegeneric_OpLsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh16x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -4311,7 +4311,7 @@ func rewriteValuegeneric_OpLsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh16x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v0.AuxInt = c1 - c2 + c3
                v.AddArg(v0)
                return true
@@ -4334,7 +4334,7 @@ func rewriteValuegeneric_OpLsh16x8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh16x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -4372,7 +4372,7 @@ func rewriteValuegeneric_OpLsh32x16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh32x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -4410,7 +4410,7 @@ func rewriteValuegeneric_OpLsh32x32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh32x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -4526,7 +4526,7 @@ func rewriteValuegeneric_OpLsh32x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh32x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -4564,7 +4564,7 @@ func rewriteValuegeneric_OpLsh32x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh32x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v0.AuxInt = c1 - c2 + c3
                v.AddArg(v0)
                return true
@@ -4587,7 +4587,7 @@ func rewriteValuegeneric_OpLsh32x8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh32x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -4625,7 +4625,7 @@ func rewriteValuegeneric_OpLsh64x16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh64x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -4663,7 +4663,7 @@ func rewriteValuegeneric_OpLsh64x32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh64x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -4779,7 +4779,7 @@ func rewriteValuegeneric_OpLsh64x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh64x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -4817,7 +4817,7 @@ func rewriteValuegeneric_OpLsh64x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh64x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v0.AuxInt = c1 - c2 + c3
                v.AddArg(v0)
                return true
@@ -4840,7 +4840,7 @@ func rewriteValuegeneric_OpLsh64x8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh64x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -4878,7 +4878,7 @@ func rewriteValuegeneric_OpLsh8x16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh8x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -4916,7 +4916,7 @@ func rewriteValuegeneric_OpLsh8x32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh8x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -5032,7 +5032,7 @@ func rewriteValuegeneric_OpLsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh8x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -5070,7 +5070,7 @@ func rewriteValuegeneric_OpLsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpLsh8x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v0.AuxInt = c1 - c2 + c3
                v.AddArg(v0)
                return true
@@ -5093,7 +5093,7 @@ func rewriteValuegeneric_OpLsh8x8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpLsh8x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -5259,14 +5259,14 @@ func rewriteValuegeneric_OpMod64(v *Value, config *Config) bool {
                }
                v.reset(OpSub64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMul64, t)
-               v1 := b.NewValue0(v.Line, OpDiv64, t)
+               v0 := b.NewValue0(v.Pos, OpMul64, t)
+               v1 := b.NewValue0(v.Pos, OpDiv64, t)
                v1.AddArg(x)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = c
                v1.AddArg(v2)
                v0.AddArg(v1)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = c
                v0.AddArg(v3)
                v.AddArg(v0)
@@ -5314,7 +5314,7 @@ func rewriteValuegeneric_OpMod64u(v *Value, config *Config) bool {
                }
                v.reset(OpAnd64)
                v.AddArg(n)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c - 1
                v.AddArg(v0)
                return true
@@ -5335,14 +5335,14 @@ func rewriteValuegeneric_OpMod64u(v *Value, config *Config) bool {
                }
                v.reset(OpSub64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpMul64, t)
-               v1 := b.NewValue0(v.Line, OpDiv64u, t)
+               v0 := b.NewValue0(v.Pos, OpMul64, t)
+               v1 := b.NewValue0(v.Pos, OpDiv64u, t)
                v1.AddArg(x)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = c
                v1.AddArg(v2)
                v0.AddArg(v1)
-               v3 := b.NewValue0(v.Line, OpConst64, t)
+               v3 := b.NewValue0(v.Pos, OpConst64, t)
                v3.AuxInt = c
                v0.AddArg(v3)
                v.AddArg(v0)
@@ -5454,7 +5454,7 @@ func rewriteValuegeneric_OpMul16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpMul16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -5529,7 +5529,7 @@ func rewriteValuegeneric_OpMul32(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpMul32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -5562,11 +5562,11 @@ func rewriteValuegeneric_OpMul32(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpAdd32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c * d))
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMul32, t)
-               v2 := b.NewValue0(v.Line, OpConst32, t)
+               v1 := b.NewValue0(v.Pos, OpMul32, t)
+               v2 := b.NewValue0(v.Pos, OpConst32, t)
                v2.AuxInt = c
                v1.AddArg(v2)
                v1.AddArg(x)
@@ -5731,7 +5731,7 @@ func rewriteValuegeneric_OpMul64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpMul64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -5764,11 +5764,11 @@ func rewriteValuegeneric_OpMul64(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpAdd64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c * d
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpMul64, t)
-               v2 := b.NewValue0(v.Line, OpConst64, t)
+               v1 := b.NewValue0(v.Pos, OpMul64, t)
+               v2 := b.NewValue0(v.Pos, OpConst64, t)
                v2.AuxInt = c
                v1.AddArg(v2)
                v1.AddArg(x)
@@ -5933,7 +5933,7 @@ func rewriteValuegeneric_OpMul8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpMul8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -6075,7 +6075,7 @@ func rewriteValuegeneric_OpNeq16(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpNeq16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(c - d))
                v.AddArg(v0)
                v.AddArg(x)
@@ -6096,7 +6096,7 @@ func rewriteValuegeneric_OpNeq16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpNeq16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -6161,7 +6161,7 @@ func rewriteValuegeneric_OpNeq32(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpNeq32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(c - d))
                v.AddArg(v0)
                v.AddArg(x)
@@ -6182,7 +6182,7 @@ func rewriteValuegeneric_OpNeq32(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpNeq32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -6247,7 +6247,7 @@ func rewriteValuegeneric_OpNeq64(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpNeq64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c - d
                v.AddArg(v0)
                v.AddArg(x)
@@ -6268,7 +6268,7 @@ func rewriteValuegeneric_OpNeq64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpNeq64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -6333,7 +6333,7 @@ func rewriteValuegeneric_OpNeq8(v *Value, config *Config) bool {
                d := v_1_0.AuxInt
                x := v_1.Args[1]
                v.reset(OpNeq8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(c - d))
                v.AddArg(v0)
                v.AddArg(x)
@@ -6354,7 +6354,7 @@ func rewriteValuegeneric_OpNeq8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpNeq8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -6446,10 +6446,10 @@ func rewriteValuegeneric_OpNeqInter(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpNeqPtr)
-               v0 := b.NewValue0(v.Line, OpITab, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpITab, config.fe.TypeBytePtr())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpITab, config.fe.TypeBytePtr())
+               v1 := b.NewValue0(v.Pos, OpITab, config.fe.TypeBytePtr())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -6496,10 +6496,10 @@ func rewriteValuegeneric_OpNeqSlice(v *Value, config *Config) bool {
                x := v.Args[0]
                y := v.Args[1]
                v.reset(OpNeqPtr)
-               v0 := b.NewValue0(v.Line, OpSlicePtr, config.fe.TypeBytePtr())
+               v0 := b.NewValue0(v.Pos, OpSlicePtr, config.fe.TypeBytePtr())
                v0.AddArg(x)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpSlicePtr, config.fe.TypeBytePtr())
+               v1 := b.NewValue0(v.Pos, OpSlicePtr, config.fe.TypeBytePtr())
                v1.AddArg(y)
                v.AddArg(v1)
                return true
@@ -6526,7 +6526,7 @@ func rewriteValuegeneric_OpNilCheck(v *Value, config *Config) bool {
                return true
        }
        // match: (NilCheck (Load (OffPtr [c] (SP)) mem) mem)
-       // cond: mem.Op == OpStaticCall         && isSameSym(mem.Aux, "runtime.newobject")      && c == config.ctxt.FixedFrameSize() + config.RegSize   && warnRule(config.Debug_checknil() && v.Line.Line() > 1, v, "removed nil check")
+       // cond: mem.Op == OpStaticCall         && isSameSym(mem.Aux, "runtime.newobject")      && c == config.ctxt.FixedFrameSize() + config.RegSize   && warnRule(config.Debug_checknil() && v.Pos.Line() > 1, v, "removed nil check")
        // result: (Invalid)
        for {
                v_0 := v.Args[0]
@@ -6546,14 +6546,14 @@ func rewriteValuegeneric_OpNilCheck(v *Value, config *Config) bool {
                if mem != v.Args[1] {
                        break
                }
-               if !(mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize()+config.RegSize && warnRule(config.Debug_checknil() && v.Line.Line() > 1, v, "removed nil check")) {
+               if !(mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize()+config.RegSize && warnRule(config.Debug_checknil() && v.Pos.Line() > 1, v, "removed nil check")) {
                        break
                }
                v.reset(OpInvalid)
                return true
        }
        // match: (NilCheck (OffPtr (Load (OffPtr [c] (SP)) mem)) mem)
-       // cond: mem.Op == OpStaticCall         && isSameSym(mem.Aux, "runtime.newobject")      && c == config.ctxt.FixedFrameSize() + config.RegSize   && warnRule(config.Debug_checknil() && v.Line.Line() > 1, v, "removed nil check")
+       // cond: mem.Op == OpStaticCall         && isSameSym(mem.Aux, "runtime.newobject")      && c == config.ctxt.FixedFrameSize() + config.RegSize   && warnRule(config.Debug_checknil() && v.Pos.Line() > 1, v, "removed nil check")
        // result: (Invalid)
        for {
                v_0 := v.Args[0]
@@ -6577,7 +6577,7 @@ func rewriteValuegeneric_OpNilCheck(v *Value, config *Config) bool {
                if mem != v.Args[1] {
                        break
                }
-               if !(mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize()+config.RegSize && warnRule(config.Debug_checknil() && v.Line.Line() > 1, v, "removed nil check")) {
+               if !(mem.Op == OpStaticCall && isSameSym(mem.Aux, "runtime.newobject") && c == config.ctxt.FixedFrameSize()+config.RegSize && warnRule(config.Debug_checknil() && v.Pos.Line() > 1, v, "removed nil check")) {
                        break
                }
                v.reset(OpInvalid)
@@ -7275,7 +7275,7 @@ func rewriteValuegeneric_OpOr16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpOr16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -7418,7 +7418,7 @@ func rewriteValuegeneric_OpOr32(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpOr32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -7561,7 +7561,7 @@ func rewriteValuegeneric_OpOr64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpOr64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -7704,7 +7704,7 @@ func rewriteValuegeneric_OpOr8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpOr8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -7941,9 +7941,9 @@ func rewriteValuegeneric_OpPtrIndex(v *Value, config *Config) bool {
                }
                v.reset(OpAddPtr)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMul32, config.fe.TypeInt())
+               v0 := b.NewValue0(v.Pos, OpMul32, config.fe.TypeInt())
                v0.AddArg(idx)
-               v1 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
+               v1 := b.NewValue0(v.Pos, OpConst32, config.fe.TypeInt())
                v1.AuxInt = t.ElemType().Size()
                v0.AddArg(v1)
                v.AddArg(v0)
@@ -7961,9 +7961,9 @@ func rewriteValuegeneric_OpPtrIndex(v *Value, config *Config) bool {
                }
                v.reset(OpAddPtr)
                v.AddArg(ptr)
-               v0 := b.NewValue0(v.Line, OpMul64, config.fe.TypeInt())
+               v0 := b.NewValue0(v.Pos, OpMul64, config.fe.TypeInt())
                v0.AddArg(idx)
-               v1 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
+               v1 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeInt())
                v1.AuxInt = t.ElemType().Size()
                v0.AddArg(v1)
                v.AddArg(v0)
@@ -7987,7 +7987,7 @@ func rewriteValuegeneric_OpRsh16Ux16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh16Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -8025,7 +8025,7 @@ func rewriteValuegeneric_OpRsh16Ux32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh16Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -8141,7 +8141,7 @@ func rewriteValuegeneric_OpRsh16Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh16Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -8179,7 +8179,7 @@ func rewriteValuegeneric_OpRsh16Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh16Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v0.AuxInt = c1 - c2 + c3
                v.AddArg(v0)
                return true
@@ -8202,7 +8202,7 @@ func rewriteValuegeneric_OpRsh16Ux8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh16Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -8240,7 +8240,7 @@ func rewriteValuegeneric_OpRsh16x16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh16x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -8278,7 +8278,7 @@ func rewriteValuegeneric_OpRsh16x32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh16x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -8378,7 +8378,7 @@ func rewriteValuegeneric_OpRsh16x64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh16x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -8401,7 +8401,7 @@ func rewriteValuegeneric_OpRsh16x8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh16x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -8439,7 +8439,7 @@ func rewriteValuegeneric_OpRsh32Ux16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh32Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -8477,7 +8477,7 @@ func rewriteValuegeneric_OpRsh32Ux32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh32Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -8593,7 +8593,7 @@ func rewriteValuegeneric_OpRsh32Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh32Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -8631,7 +8631,7 @@ func rewriteValuegeneric_OpRsh32Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh32Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v0.AuxInt = c1 - c2 + c3
                v.AddArg(v0)
                return true
@@ -8654,7 +8654,7 @@ func rewriteValuegeneric_OpRsh32Ux8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh32Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -8692,7 +8692,7 @@ func rewriteValuegeneric_OpRsh32x16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh32x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -8730,7 +8730,7 @@ func rewriteValuegeneric_OpRsh32x32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh32x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -8830,7 +8830,7 @@ func rewriteValuegeneric_OpRsh32x64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh32x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -8853,7 +8853,7 @@ func rewriteValuegeneric_OpRsh32x8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh32x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -8891,7 +8891,7 @@ func rewriteValuegeneric_OpRsh64Ux16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh64Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -8929,7 +8929,7 @@ func rewriteValuegeneric_OpRsh64Ux32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh64Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -9045,7 +9045,7 @@ func rewriteValuegeneric_OpRsh64Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh64Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -9083,7 +9083,7 @@ func rewriteValuegeneric_OpRsh64Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh64Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v0.AuxInt = c1 - c2 + c3
                v.AddArg(v0)
                return true
@@ -9106,7 +9106,7 @@ func rewriteValuegeneric_OpRsh64Ux8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh64Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -9144,7 +9144,7 @@ func rewriteValuegeneric_OpRsh64x16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh64x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -9182,7 +9182,7 @@ func rewriteValuegeneric_OpRsh64x32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh64x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -9282,7 +9282,7 @@ func rewriteValuegeneric_OpRsh64x64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh64x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -9305,7 +9305,7 @@ func rewriteValuegeneric_OpRsh64x8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh64x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -9343,7 +9343,7 @@ func rewriteValuegeneric_OpRsh8Ux16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh8Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -9381,7 +9381,7 @@ func rewriteValuegeneric_OpRsh8Ux32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh8Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -9497,7 +9497,7 @@ func rewriteValuegeneric_OpRsh8Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh8Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -9535,7 +9535,7 @@ func rewriteValuegeneric_OpRsh8Ux64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh8Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, config.fe.TypeUInt64())
+               v0 := b.NewValue0(v.Pos, OpConst64, config.fe.TypeUInt64())
                v0.AuxInt = c1 - c2 + c3
                v.AddArg(v0)
                return true
@@ -9558,7 +9558,7 @@ func rewriteValuegeneric_OpRsh8Ux8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh8Ux64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -9596,7 +9596,7 @@ func rewriteValuegeneric_OpRsh8x16(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh8x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint16(c))
                v.AddArg(v0)
                return true
@@ -9634,7 +9634,7 @@ func rewriteValuegeneric_OpRsh8x32(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh8x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint32(c))
                v.AddArg(v0)
                return true
@@ -9734,7 +9734,7 @@ func rewriteValuegeneric_OpRsh8x64(v *Value, config *Config) bool {
                }
                v.reset(OpRsh8x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c + d
                v.AddArg(v0)
                return true
@@ -9757,7 +9757,7 @@ func rewriteValuegeneric_OpRsh8x8(v *Value, config *Config) bool {
                c := v_1.AuxInt
                v.reset(OpRsh8x64)
                v.AddArg(x)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = int64(uint8(c))
                v.AddArg(v0)
                return true
@@ -10254,12 +10254,12 @@ func rewriteValuegeneric_OpStore(v *Value, config *Config) bool {
                mem := v.Args[2]
                v.reset(OpStore)
                v.AuxInt = t.FieldType(1).Size()
-               v0 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(1).PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo())
                v0.AuxInt = t.FieldOff(1)
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(f1)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = t.FieldType(0).Size()
                v1.AddArg(dst)
                v1.AddArg(f0)
@@ -10283,19 +10283,19 @@ func rewriteValuegeneric_OpStore(v *Value, config *Config) bool {
                mem := v.Args[2]
                v.reset(OpStore)
                v.AuxInt = t.FieldType(2).Size()
-               v0 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(2).PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(2).PtrTo())
                v0.AuxInt = t.FieldOff(2)
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(f2)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = t.FieldType(1).Size()
-               v2 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(1).PtrTo())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo())
                v2.AuxInt = t.FieldOff(1)
                v2.AddArg(dst)
                v1.AddArg(v2)
                v1.AddArg(f1)
-               v3 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v3.AuxInt = t.FieldType(0).Size()
                v3.AddArg(dst)
                v3.AddArg(f0)
@@ -10321,26 +10321,26 @@ func rewriteValuegeneric_OpStore(v *Value, config *Config) bool {
                mem := v.Args[2]
                v.reset(OpStore)
                v.AuxInt = t.FieldType(3).Size()
-               v0 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(3).PtrTo())
+               v0 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(3).PtrTo())
                v0.AuxInt = t.FieldOff(3)
                v0.AddArg(dst)
                v.AddArg(v0)
                v.AddArg(f3)
-               v1 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v1 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v1.AuxInt = t.FieldType(2).Size()
-               v2 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(2).PtrTo())
+               v2 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(2).PtrTo())
                v2.AuxInt = t.FieldOff(2)
                v2.AddArg(dst)
                v1.AddArg(v2)
                v1.AddArg(f2)
-               v3 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v3 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v3.AuxInt = t.FieldType(1).Size()
-               v4 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(1).PtrTo())
+               v4 := b.NewValue0(v.Pos, OpOffPtr, t.FieldType(1).PtrTo())
                v4.AuxInt = t.FieldOff(1)
                v4.AddArg(dst)
                v3.AddArg(v4)
                v3.AddArg(f1)
-               v5 := b.NewValue0(v.Line, OpStore, TypeMem)
+               v5 := b.NewValue0(v.Pos, OpStore, TypeMem)
                v5.AuxInt = t.FieldType(0).Size()
                v5.AddArg(dst)
                v5.AddArg(f0)
@@ -10404,7 +10404,7 @@ func rewriteValuegeneric_OpStore(v *Value, config *Config) bool {
                v.AuxInt = MakeSizeAndAlign(size, t.Alignment()).Int64()
                v.AddArg(dst)
                v.AddArg(src)
-               v0 := b.NewValue0(v.Line, OpVarDef, TypeMem)
+               v0 := b.NewValue0(v.Pos, OpVarDef, TypeMem)
                v0.Aux = x
                v0.AddArg(mem)
                v.AddArg(v0)
@@ -10679,10 +10679,10 @@ func rewriteValuegeneric_OpStructSelect(v *Value, config *Config) bool {
                        break
                }
                b = x.Block
-               v0 := b.NewValue0(v.Line, OpLoad, v.Type)
+               v0 := b.NewValue0(v.Pos, OpLoad, v.Type)
                v.reset(OpCopy)
                v.AddArg(v0)
-               v1 := b.NewValue0(v.Line, OpOffPtr, v.Type.PtrTo())
+               v1 := b.NewValue0(v.Pos, OpOffPtr, v.Type.PtrTo())
                v1.AuxInt = t.FieldOff(int(i))
                v1.AddArg(ptr)
                v0.AddArg(v1)
@@ -10743,7 +10743,7 @@ func rewriteValuegeneric_OpSub16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAdd16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = int64(int16(-c))
                v.AddArg(v0)
                v.AddArg(x)
@@ -10835,7 +10835,7 @@ func rewriteValuegeneric_OpSub32(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAdd32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = int64(int32(-c))
                v.AddArg(v0)
                v.AddArg(x)
@@ -10967,7 +10967,7 @@ func rewriteValuegeneric_OpSub64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAdd64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = -c
                v.AddArg(v0)
                v.AddArg(x)
@@ -11099,7 +11099,7 @@ func rewriteValuegeneric_OpSub8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpAdd8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = int64(int8(-c))
                v.AddArg(v0)
                v.AddArg(x)
@@ -11679,7 +11679,7 @@ func rewriteValuegeneric_OpXor16(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpXor16)
-               v0 := b.NewValue0(v.Line, OpConst16, t)
+               v0 := b.NewValue0(v.Pos, OpConst16, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -11806,7 +11806,7 @@ func rewriteValuegeneric_OpXor32(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpXor32)
-               v0 := b.NewValue0(v.Line, OpConst32, t)
+               v0 := b.NewValue0(v.Pos, OpConst32, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -11933,7 +11933,7 @@ func rewriteValuegeneric_OpXor64(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpXor64)
-               v0 := b.NewValue0(v.Line, OpConst64, t)
+               v0 := b.NewValue0(v.Pos, OpConst64, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
@@ -12060,7 +12060,7 @@ func rewriteValuegeneric_OpXor8(v *Value, config *Config) bool {
                        break
                }
                v.reset(OpXor8)
-               v0 := b.NewValue0(v.Line, OpConst8, t)
+               v0 := b.NewValue0(v.Pos, OpConst8, t)
                v0.AuxInt = c
                v.AddArg(v0)
                v.AddArg(x)
index 69c5cccd73e2f5d8efc8942bd3d23ca300888323..bd4d3299f28c2c6eefee2bebd2db482e57e77fb0 100644 (file)
@@ -46,8 +46,8 @@ func (h ValHeap) Less(i, j int) bool {
        if c := sx - sy; c != 0 {
                return c > 0 // higher score comes later.
        }
-       if x.Line != y.Line { // Favor in-order line stepping
-               return x.Line.After(y.Line)
+       if x.Pos != y.Pos { // Favor in-order line stepping
+               return x.Pos.After(y.Pos)
        }
        if x.Op != OpPhi {
                if c := len(x.Args) - len(y.Args); c != 0 {
index ff05a04c471ce8be8311bce2c056bb9f27b51001..e6c274641ef8f47ca9297139555c8b8e91c0a611 100644 (file)
@@ -17,8 +17,8 @@ func shortcircuit(f *Func) {
        //    x = phi(a, ...)
        //
        // We can replace the "a" in the phi with the constant true.
-       ct := f.ConstBool(f.Entry.Line, f.Config.fe.TypeBool(), true)
-       cf := f.ConstBool(f.Entry.Line, f.Config.fe.TypeBool(), false)
+       ct := f.ConstBool(f.Entry.Pos, f.Config.fe.TypeBool(), true)
+       cf := f.ConstBool(f.Entry.Pos, f.Config.fe.TypeBool(), false)
        for _, b := range f.Blocks {
                for _, v := range b.Values {
                        if v.Op != OpPhi {
index 6cec9db735db550704fb2b7fa8eb565e7269ec45..aeb8e8c7697d7c0d8bf99703755d926bf6bd2497 100644 (file)
@@ -37,8 +37,8 @@ type Value struct {
        // Containing basic block
        Block *Block
 
-       // Source line number
-       Line src.Pos
+       // Source position
+       Pos src.Pos
 
        // Use count. Each appearance in Value.Args and Block.Control counts once.
        Uses int32
@@ -218,7 +218,7 @@ func (v *Value) reset(op Op) {
 
 // copyInto makes a new value identical to v and adds it to the end of b.
 func (v *Value) copyInto(b *Block) *Value {
-       c := b.NewValue0(v.Line, v.Op, v.Type)
+       c := b.NewValue0(v.Pos, v.Op, v.Type)
        c.Aux = v.Aux
        c.AuxInt = v.AuxInt
        c.AddArgs(v.Args...)
@@ -233,7 +233,7 @@ func (v *Value) copyInto(b *Block) *Value {
 func (v *Value) Logf(msg string, args ...interface{}) { v.Block.Logf(msg, args...) }
 func (v *Value) Log() bool                            { return v.Block.Log() }
 func (v *Value) Fatalf(msg string, args ...interface{}) {
-       v.Block.Func.Config.Fatalf(v.Line, msg, args...)
+       v.Block.Func.Config.Fatalf(v.Pos, msg, args...)
 }
 
 // isGenericIntConst returns whether v is a generic integer constant.
index a68e66edd8fe4c4500e581499b62634670ed2cbb..eaa6137810d41b213299e39567a786af409ffc35 100644 (file)
@@ -56,7 +56,7 @@ func writebarrier(f *Func) {
                                if wbaddr == nil {
                                        // initalize global values for write barrier test and calls
                                        // find SB and SP values in entry block
-                                       initln := f.Entry.Line
+                                       initln := f.Entry.Pos
                                        for _, v := range f.Entry.Values {
                                                if v.Op == OpSB {
                                                        sb = v
@@ -81,7 +81,7 @@ func writebarrier(f *Func) {
                                        defer f.retSparseSet(wbs)
                                }
 
-                               line := v.Line
+                               line := v.Pos
 
                                // there may be a sequence of WB stores in the current block. find them.
                                storeWBs = storeWBs[:0]
@@ -127,9 +127,9 @@ func writebarrier(f *Func) {
                                bThen := f.NewBlock(BlockPlain)
                                bElse := f.NewBlock(BlockPlain)
                                bEnd := f.NewBlock(b.Kind)
-                               bThen.Line = line
-                               bElse.Line = line
-                               bEnd.Line = line
+                               bThen.Pos = line
+                               bElse.Pos = line
+                               bEnd.Pos = line
 
                                // set up control flow for end block
                                bEnd.SetControl(b.Control)
index 6456f2f3207302dc5f7c845c115c1d0e7dbf3a9f..379a0f749856864ea5b8bc68fff39d6893dae5a5 100644 (file)
@@ -114,7 +114,7 @@ func opregreg(op obj.As, dest, src int16) *obj.Prog {
 }
 
 func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
-       s.SetPos(v.Line)
+       s.SetPos(v.Pos)
 
        if gc.Thearch.Use387 {
                if ssaGenValue387(s, v) {
@@ -788,8 +788,8 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
                p.To.Type = obj.TYPE_MEM
                p.To.Reg = v.Args[0].Reg()
                gc.AddAux(&p.To, v)
-               if gc.Debug_checknil != 0 && v.Line.Line() > 1 { // v.Line==1 in generated wrappers
-                       gc.Warnl(v.Line, "generated nil check")
+               if gc.Debug_checknil != 0 && v.Pos.Line() > 1 { // v.Pos.Line()==1 in generated wrappers
+                       gc.Warnl(v.Pos, "generated nil check")
                }
        case ssa.Op386FCHS:
                v.Fatalf("FCHS in non-387 mode")
@@ -825,7 +825,7 @@ var nefJumps = [2][2]gc.FloatingEQNEJump{
 }
 
 func ssaGenBlock(s *gc.SSAGenState, b, next *ssa.Block) {
-       s.SetPos(b.Line)
+       s.SetPos(b.Pos)
 
        if gc.Thearch.Use387 {
                // Empty the 387's FP stack before the block ends.