diff options
author | Russ Cox <rsc@golang.org> | 2017-02-01 09:35:27 -0500 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2017-02-01 09:47:23 -0500 |
commit | 47ce87877b1e2d4f34bb93fe6c7d88785b318cd5 (patch) | |
tree | c1ae026247c210cad5f4d3614f7763ddc103cea3 /src/cmd/compile | |
parent | c47df7ae171b1470f8304c6759caf68f3f37ea90 (diff) | |
parent | ec63158d7104ab6eb3765f7d4ea48744f97d9ff9 (diff) | |
download | go-47ce87877b1e2d4f34bb93fe6c7d88785b318cd5.tar.gz go-47ce87877b1e2d4f34bb93fe6c7d88785b318cd5.zip |
all: merge dev.inline into master
Change-Id: I7715581a04e513dcda9918e853fa6b1ddc703770
Diffstat (limited to 'src/cmd/compile')
91 files changed, 5381 insertions, 5203 deletions
diff --git a/src/cmd/compile/fmt_test.go b/src/cmd/compile/fmt_test.go index 1a648084f7..88e9ba2b7b 100644 --- a/src/cmd/compile/fmt_test.go +++ b/src/cmd/compile/fmt_test.go @@ -654,6 +654,7 @@ var knownFormats = map[string]string{ "cmd/compile/internal/syntax.token %q": "", "cmd/compile/internal/syntax.token %s": "", "cmd/internal/obj.As %v": "", + "cmd/internal/src.Pos %s": "", "error %v": "", "float64 %.2f": "", "float64 %.3f": "", @@ -663,7 +664,6 @@ var knownFormats = map[string]string{ "int %-12d": "", "int %-6d": "", "int %-8o": "", - "int %5d": "", "int %6d": "", "int %c": "", "int %d": "", @@ -699,6 +699,7 @@ var knownFormats = map[string]string{ "time.Duration %d": "", "time.Duration %v": "", "uint %04x": "", + "uint %5d": "", "uint %d": "", "uint16 %d": "", "uint16 %v": "", diff --git a/src/cmd/compile/internal/amd64/ssa.go b/src/cmd/compile/internal/amd64/ssa.go index 3c997f20ae..93deb3758b 100644 --- a/src/cmd/compile/internal/amd64/ssa.go +++ b/src/cmd/compile/internal/amd64/ssa.go @@ -147,7 +147,7 @@ func duff(size int64) (int64, int64) { } func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { - s.SetLineno(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 > 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.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.SetLineno(b.Line) + s.SetPos(b.Pos) switch b.Kind { case ssa.BlockPlain: diff --git a/src/cmd/compile/internal/arm/ssa.go b/src/cmd/compile/internal/arm/ssa.go index 5a69ed3c3b..a769351378 100644 --- a/src/cmd/compile/internal/arm/ssa.go +++ b/src/cmd/compile/internal/arm/ssa.go @@ -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.SetLineno(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 > 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.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.SetLineno(b.Line) + s.SetPos(b.Pos) switch b.Kind { case ssa.BlockPlain: diff --git a/src/cmd/compile/internal/arm64/ssa.go b/src/cmd/compile/internal/arm64/ssa.go index 5670ef8e96..0e44ccdcae 100644 --- a/src/cmd/compile/internal/arm64/ssa.go +++ b/src/cmd/compile/internal/arm64/ssa.go @@ -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.SetLineno(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 > 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.SetLineno(b.Line) + s.SetPos(b.Pos) switch b.Kind { case ssa.BlockPlain: diff --git a/src/cmd/compile/internal/gc/alg.go b/src/cmd/compile/internal/gc/alg.go index d4f3d9884e..f8cfd3ce5c 100644 --- a/src/cmd/compile/internal/gc/alg.go +++ b/src/cmd/compile/internal/gc/alg.go @@ -186,7 +186,7 @@ func genhash(sym *Sym, t *Type) { fmt.Printf("genhash %v %v\n", sym, t) } - lineno = 1 // less confusing than end of input + lineno = MakePos(nil, 1, 0) // less confusing than end of input dclcontext = PEXTERN markdcl() @@ -364,7 +364,7 @@ func geneq(sym *Sym, t *Type) { fmt.Printf("geneq %v %v\n", sym, t) } - lineno = 1 // less confusing than end of input + lineno = MakePos(nil, 1, 0) // less confusing than end of input dclcontext = PEXTERN markdcl() diff --git a/src/cmd/compile/internal/gc/align.go b/src/cmd/compile/internal/gc/align.go index 1dd04e349d..b7036869b8 100644 --- a/src/cmd/compile/internal/gc/align.go +++ b/src/cmd/compile/internal/gc/align.go @@ -126,7 +126,7 @@ func dowidth(t *Type) { if t.Width == -2 { if !t.Broke { t.Broke = true - yyerrorl(t.Lineno, "invalid recursive type %v", t) + yyerrorl(t.Pos, "invalid recursive type %v", t) } t.Width = 0 @@ -143,7 +143,7 @@ func dowidth(t *Type) { defercalc++ lno := lineno - lineno = t.Lineno + lineno = t.Pos t.Width = -2 t.Align = 0 diff --git a/src/cmd/compile/internal/gc/asm_test.go b/src/cmd/compile/internal/gc/asm_test.go index db800aba20..9eb31e152a 100644 --- a/src/cmd/compile/internal/gc/asm_test.go +++ b/src/cmd/compile/internal/gc/asm_test.go @@ -286,6 +286,6 @@ var issue16214src = ` package main func Mod32(x uint32) uint32 { - return x % 3 // frontend rewrites it as HMUL with 2863311531, the LITERAL node has Lineno 0 + return x % 3 // frontend rewrites it as HMUL with 2863311531, the LITERAL node has unknown Pos } ` diff --git a/src/cmd/compile/internal/gc/bexport.go b/src/cmd/compile/internal/gc/bexport.go index 5f14e0152b..06bb6975a9 100644 --- a/src/cmd/compile/internal/gc/bexport.go +++ b/src/cmd/compile/internal/gc/bexport.go @@ -574,7 +574,9 @@ func (p *exporter) pos(n *Node) { func fileLine(n *Node) (file string, line int) { if n != nil { - file, line = Ctxt.LineHist.AbsFileLine(int(n.Lineno)) + pos := Ctxt.PosTable.Pos(n.Pos) + file = pos.AbsFilename() + line = int(pos.Line()) } return } @@ -784,7 +786,7 @@ func (p *exporter) typ(t *Type) { // for the issue. if p.nesting > 100 { p.int(0) // 0 methods to indicate empty interface - yyerrorl(t.Lineno, "cannot export unnamed recursive interface") + yyerrorl(t.Pos, "cannot export unnamed recursive interface") break } diff --git a/src/cmd/compile/internal/gc/closure.go b/src/cmd/compile/internal/gc/closure.go index 5183510fe5..9e181e5b11 100644 --- a/src/cmd/compile/internal/gc/closure.go +++ b/src/cmd/compile/internal/gc/closure.go @@ -247,7 +247,7 @@ func makeclosure(func_ *Node) *Node { // after capturing (effectively constant). func capturevars(xfunc *Node) { lno := lineno - lineno = xfunc.Lineno + lineno = xfunc.Pos func_ := xfunc.Func.Closure func_.Func.Enter.Set(nil) @@ -288,7 +288,7 @@ func capturevars(xfunc *Node) { if v.Name.Byval { how = "value" } - Warnl(v.Lineno, "%v capturing by %s: %v (addr=%v assign=%v width=%d)", name, how, v.Sym, outermost.Addrtaken, outermost.Assigned, int32(v.Type.Width)) + Warnl(v.Pos, "%v capturing by %s: %v (addr=%v assign=%v width=%d)", name, how, v.Sym, outermost.Addrtaken, outermost.Assigned, int32(v.Type.Width)) } outer = typecheck(outer, Erv) @@ -302,7 +302,7 @@ func capturevars(xfunc *Node) { // It transform closure bodies to properly reference captured variables. func transformclosure(xfunc *Node) { lno := lineno - lineno = xfunc.Lineno + lineno = xfunc.Pos func_ := xfunc.Func.Closure if func_.Func.Top&Ecall != 0 { @@ -441,13 +441,13 @@ func hasemptycvars(func_ *Node) bool { func closuredebugruntimecheck(r *Node) { if Debug_closure > 0 { if r.Esc == EscHeap { - Warnl(r.Lineno, "heap closure, captured vars = %v", r.Func.Cvars) + Warnl(r.Pos, "heap closure, captured vars = %v", r.Func.Cvars) } else { - Warnl(r.Lineno, "stack closure, captured vars = %v", r.Func.Cvars) + Warnl(r.Pos, "stack closure, captured vars = %v", r.Func.Cvars) } } if compiling_runtime && r.Esc == EscHeap { - yyerrorl(r.Lineno, "heap-allocated closure, not allowed in runtime.") + yyerrorl(r.Pos, "heap-allocated closure, not allowed in runtime.") } } @@ -455,7 +455,7 @@ func walkclosure(func_ *Node, init *Nodes) *Node { // If no closure vars, don't bother wrapping. if hasemptycvars(func_) { if Debug_closure > 0 { - Warnl(func_.Lineno, "closure converted to global") + Warnl(func_.Pos, "closure converted to global") } return func_.Func.Closure.Func.Nname } else { diff --git a/src/cmd/compile/internal/gc/const.go b/src/cmd/compile/internal/gc/const.go index 2b255589f9..a2146ebef1 100644 --- a/src/cmd/compile/internal/gc/const.go +++ b/src/cmd/compile/internal/gc/const.go @@ -4,7 +4,10 @@ package gc -import "strings" +import ( + "cmd/internal/src" + "strings" +) // Ctype describes the constant kind of an "ideal" (untyped) constant. type Ctype int8 @@ -676,7 +679,7 @@ func evconst(n *Node) { nr := n.Right var rv Val - var lno int32 + var lno src.XPos var wr EType var v Val var norig *Node diff --git a/src/cmd/compile/internal/gc/dcl.go b/src/cmd/compile/internal/gc/dcl.go index 856a7faced..6cf970dbad 100644 --- a/src/cmd/compile/internal/gc/dcl.go +++ b/src/cmd/compile/internal/gc/dcl.go @@ -5,7 +5,9 @@ package gc import ( + "cmd/compile/internal/syntax" "cmd/internal/obj" + "cmd/internal/src" "fmt" "sort" "strings" @@ -113,7 +115,7 @@ func testdclstack() { // redeclare emits a diagnostic about symbol s being redeclared somewhere. func redeclare(s *Sym, where string) { - if s.Lastlineno == 0 { + if !s.Lastlineno.IsKnown() { var tmp string if s.Origpkg != nil { tmp = s.Origpkg.Path @@ -162,7 +164,7 @@ func declare(n *Node, ctxt Class) { // named OLITERAL needs Name; most OLITERALs don't. n.Name = new(Name) } - n.Lineno = lineno + n.Pos = lineno s := n.Sym // kludgy: typecheckok means we're past parsing. Eg genwrapper may declare out of package names later. @@ -287,14 +289,14 @@ func variter(vl []*Node, t *Node, el []*Node) []*Node { // declare constants from grammar // new_name_list [[type] = expr_list] func constiter(vl []*Node, t *Node, cl []*Node) []*Node { - lno := int32(0) // default is to leave line number alone in listtreecopy + var lno src.XPos // default is to leave line number alone in listtreecopy if len(cl) == 0 { if t != nil { yyerror("const declaration cannot have type without expression") } cl = lastconst t = lasttype - lno = vl[0].Lineno + lno = vl[0].Pos } else { lastconst = cl lasttype = t @@ -467,13 +469,13 @@ func colasdefn(left []*Node, defn *Node) { continue } if !colasname(n) { - yyerrorl(defn.Lineno, "non-name %v on left side of :=", n) + yyerrorl(defn.Pos, "non-name %v on left side of :=", n) nerr++ continue } if n.Sym.Flags&SymUniq == 0 { - yyerrorl(defn.Lineno, "%v repeated on left side of :=", n.Sym) + yyerrorl(defn.Pos, "%v repeated on left side of :=", n.Sym) n.Diag = true nerr++ continue @@ -493,7 +495,7 @@ func colasdefn(left []*Node, defn *Node) { } if nnew == 0 && nerr == 0 { - yyerrorl(defn.Lineno, "no new variables on left side of :=") + yyerrorl(defn.Pos, "no new variables on left side of :=") } } @@ -692,7 +694,7 @@ func typedcl0(s *Sym) *Node { // node n, which was returned by typedcl0 // is being declared to have uncompiled type t. // returns the ODCLTYPE node to use. -func typedcl1(n *Node, t *Node, pragma Pragma, alias bool) *Node { +func typedcl1(n *Node, t *Node, pragma syntax.Pragma, alias bool) *Node { if pragma != 0 && alias { yyerror("cannot specify directive with type alias") pragma = 0 @@ -724,14 +726,14 @@ func checkembeddedtype(t *Type) { if t.IsPtr() || t.IsUnsafePtr() { yyerror("embedded type cannot be a pointer") - } else if t.Etype == TFORW && t.ForwardType().Embedlineno == 0 { + } else if t.Etype == TFORW && !t.ForwardType().Embedlineno.IsKnown() { t.ForwardType().Embedlineno = lineno } } func structfield(n *Node) *Field { lno := lineno - lineno = n.Lineno + lineno = n.Pos if n.Op != ODCLFIELD { Fatalf("structfield: oops %v\n", n) @@ -789,7 +791,7 @@ func checkdupfields(what string, ts ...*Type) { continue } if seen[f.Sym] { - lineno = f.Nname.Lineno + lineno = f.Nname.Pos yyerror("duplicate %s %s", what, f.Sym.Name) continue } @@ -870,7 +872,7 @@ func tofunargsfield(fields []*Field, funarg Funarg) *Type { func interfacefield(n *Node) *Field { lno := lineno - lineno = n.Lineno + lineno = n.Pos if n.Op != ODCLFIELD { Fatalf("interfacefield: oops %v\n", n) @@ -1352,7 +1354,7 @@ type nowritebarrierrecChecker struct { type nowritebarrierrecCall struct { target *Node depth int - lineno int32 + lineno src.XPos } func checknowritebarrierrec() { @@ -1362,8 +1364,8 @@ func checknowritebarrierrec() { visitBottomUp(xtop, func(list []*Node, recursive bool) { // Functions with write barriers have depth 0. for _, n := range list { - if n.Func.WBLineno != 0 && n.Func.Pragma&Yeswritebarrierrec == 0 { - c.best[n] = nowritebarrierrecCall{target: nil, depth: 0, lineno: n.Func.WBLineno} + if n.Func.WBPos.IsKnown() && n.Func.Pragma&Yeswritebarrierrec == 0 { + c.best[n] = nowritebarrierrecCall{target: nil, depth: 0, lineno: n.Func.WBPos} } } @@ -1380,7 +1382,7 @@ func checknowritebarrierrec() { // yeswritebarrierrec function. continue } - if n.Func.WBLineno == 0 { + if !n.Func.WBPos.IsKnown() { c.curfn = n c.visitcodelist(n.Nbody) } @@ -1408,7 +1410,7 @@ func checknowritebarrierrec() { call = c.best[n] } err = fmt.Sprintf("write barrier prohibited by caller; %v%s", n.Func.Nname, err) - yyerrorl(n.Func.WBLineno, err) + yyerrorl(n.Func.WBPos, err) } }) } @@ -1454,6 +1456,6 @@ func (c *nowritebarrierrecChecker) visitcall(n *Node) { if ok && fnbest.depth+1 >= best.depth { return } - c.best[c.curfn] = nowritebarrierrecCall{target: defn, depth: fnbest.depth + 1, lineno: n.Lineno} + c.best[c.curfn] = nowritebarrierrecCall{target: defn, depth: fnbest.depth + 1, lineno: n.Pos} c.stable = false } diff --git a/src/cmd/compile/internal/gc/esc.go b/src/cmd/compile/internal/gc/esc.go index 4f37ff0e34..b1e4a7992c 100644 --- a/src/cmd/compile/internal/gc/esc.go +++ b/src/cmd/compile/internal/gc/esc.go @@ -504,7 +504,7 @@ func escAnalyze(all []*Node, recursive bool) { if n.Esc != escapes[i] { done = false if Debug['m'] > 2 { - Warnl(n.Lineno, "Reflooding %v %S", e.curfnSym(n), n) + Warnl(n.Pos, "Reflooding %v %S", e.curfnSym(n), n) } escapes[i] = n.Esc e.escflood(n) @@ -525,7 +525,7 @@ func escAnalyze(all []*Node, recursive bool) { if Debug['m'] != 0 { for _, n := range e.noesc { if n.Esc == EscNone { - Warnl(n.Lineno, "%v %S does not escape", e.curfnSym(n), n) + Warnl(n.Pos, "%v %S does not escape", e.curfnSym(n), n) } } } @@ -678,7 +678,7 @@ func (e *EscState) esc(n *Node, parent *Node) { (n.Op == ONEW || n.Op == OPTRLIT) && n.Type.Elem().Width >= 1<<16 || n.Op == OMAKESLICE && !isSmallMakeSlice(n)) { if Debug['m'] > 2 { - Warnl(n.Lineno, "%v is too large for stack", n) + Warnl(n.Pos, "%v is too large for stack", n) } n.Esc = EscHeap addrescapes(n) @@ -778,7 +778,7 @@ func (e *EscState) esc(n *Node, parent *Node) { // b escapes as well. If we ignore such OSLICEARR, we will conclude // that b does not escape when b contents do. if Debug['m'] != 0 { - Warnl(n.Lineno, "%v ignoring self-assignment to %S", e.curfnSym(n), n.Left) + Warnl(n.Pos, "%v ignoring self-assignment to %S", e.curfnSym(n), n.Left) } break @@ -882,7 +882,7 @@ func (e *EscState) esc(n *Node, parent *Node) { slice2 := n.List.Second() e.escassignDereference(&e.theSink, slice2, e.stepAssignWhere(n, slice2, "appended slice...", n)) // lose track of assign of dereference if Debug['m'] > 3 { - Warnl(n.Lineno, "%v special treatment of append(slice1, slice2...) %S", e.curfnSym(n), n) + Warnl(n.Pos, "%v special treatment of append(slice1, slice2...) %S", e.curfnSym(n), n) } } e.escassignDereference(&e.theSink, n.List.First(), e.stepAssignWhere(n, n.List.First(), "appendee slice", n)) // The original elements are now leaked, too @@ -952,7 +952,7 @@ func (e *EscState) esc(n *Node, parent *Node) { a := v.Name.Defn if !v.Name.Byval { a = nod(OADDR, a, nil) - a.Lineno = v.Lineno + a.Pos = v.Pos e.nodeEscState(a).Loopdepth = e.loopdepth a = typecheck(a, Erv) } @@ -1145,7 +1145,7 @@ func (e *EscState) escassign(dst, src *Node, step *EscStep) { // OCLOSURE is lowered to OPTRLIT, // insert OADDR to account for the additional indirection. a := nod(OADDR, src, nil) - a.Lineno = src.Lineno + a.Pos = src.Pos e.nodeEscState(a).Loopdepth = e.nodeEscState(src).Loopdepth a.Type = ptrto(src.Type) e.escflows(dst, a, e.stepAssign(nil, originalDst, src, dstwhy)) @@ -1383,7 +1383,7 @@ func (e *EscState) escassignDereference(dst *Node, src *Node, step *EscStep) { func (e *EscState) addDereference(n *Node) *Node { ind := nod(OIND, n, nil) e.nodeEscState(ind).Loopdepth = e.nodeEscState(n).Loopdepth - ind.Lineno = n.Lineno + ind.Pos = n.Pos t := n.Type if t.IsKind(Tptr) { // This should model our own sloppy use of OIND to encode @@ -1441,7 +1441,7 @@ func (e *EscState) initEscRetval(call *Node, fntype *Type) { ret.Name.Curfn = Curfn e.nodeEscState(ret).Loopdepth = e.loopdepth ret.Used = true - ret.Lineno = call.Lineno + ret.Pos = call.Pos cE.Retval.Append(ret) } } @@ -1546,7 +1546,7 @@ func (e *EscState) esccall(call *Node, parent *Node) { arg = nod(ODDDARG, nil, nil) arr := typArray(n.Type.Elem(), int64(len(args))) arg.Type = ptrto(arr) // make pointer so it will be tracked - arg.Lineno = call.Lineno + arg.Pos = call.Pos e.track(arg) call.Right = arg } @@ -1607,7 +1607,7 @@ func (e *EscState) esccall(call *Node, parent *Node) { if param.Isddd && !call.Isddd { // Introduce ODDDARG node to represent ... allocation. arg = nod(ODDDARG, nil, nil) - arg.Lineno = call.Lineno + arg.Pos = call.Pos arr := typArray(param.Type.Elem(), int64(len(args)-i)) arg.Type = ptrto(arr) // make pointer so it will be tracked e.track(arg) @@ -1757,7 +1757,7 @@ func (es *EscStep) describe(src *Node) { if where == nil { where = dst } - Warnl(src.Lineno, "\tfrom %v (%s) at %s", dst, step.why, where.Line()) + Warnl(src.Pos, "\tfrom %v (%s) at %s", dst, step.why, where.Line()) } for step := step0; step != nil && step.busy; step = step.parent { step.busy = false @@ -1821,10 +1821,10 @@ func (e *EscState) escwalkBody(level Level, dst *Node, src *Node, step *EscStep, // 4. return *in if Debug['m'] != 0 { if Debug['m'] <= 2 { - Warnl(src.Lineno, "leaking param: %S to result %v level=%v", src, dst.Sym, level.int()) + Warnl(src.Pos, "leaking param: %S to result %v level=%v", src, dst.Sym, level.int()) step.describe(src) } else { - Warnl(src.Lineno, "leaking param: %S to result %v level=%v", src, dst.Sym, level) + Warnl(src.Pos, "leaking param: %S to result %v level=%v", src, dst.Sym, level) } } if src.Esc&EscMask != EscReturn { @@ -1841,7 +1841,7 @@ func (e *EscState) escwalkBody(level Level, dst *Node, src *Node, step *EscStep, level.int() > 0 { src.Esc = escMax(EscContentEscapes|src.Esc, EscNone) if Debug['m'] != 0 { - Warnl(src.Lineno, "mark escaped content: %S", src) + Warnl(src.Pos, "mark escaped content: %S", src) step.describe(src) } } @@ -1858,11 +1858,11 @@ func (e *EscState) escwalkBody(level Level, dst *Node, src *Node, step *EscStep, if Debug['m'] != 0 { if Debug['m'] <= 2 { if osrcesc != src.Esc { - Warnl(src.Lineno, "leaking param content: %S", src) + Warnl(src.Pos, "leaking param content: %S", src) step.describe(src) } } else { - Warnl(src.Lineno, "leaking param content: %S level=%v dst.eld=%v src.eld=%v dst=%S", + Warnl(src.Pos, "leaking param content: %S level=%v dst.eld=%v src.eld=%v dst=%S", src, level, dstE.Loopdepth, modSrcLoopdepth, dst) } } @@ -1870,10 +1870,10 @@ func (e *EscState) escwalkBody(level Level, dst *Node, src *Node, step *EscStep, src.Esc = EscHeap if Debug['m'] != 0 { if Debug['m'] <= 2 { - Warnl(src.Lineno, "leaking param: %S", src) + Warnl(src.Pos, "leaking param: %S", src) step.describe(src) } else { - Warnl(src.Lineno, "leaking param: %S level=%v dst.eld=%v src.eld=%v dst=%S", + Warnl(src.Pos, "leaking param: %S level=%v dst.eld=%v src.eld=%v dst=%S", src, level, dstE.Loopdepth, modSrcLoopdepth, dst) } } @@ -1884,7 +1884,7 @@ func (e *EscState) escwalkBody(level Level, dst *Node, src *Node, step *EscStep, // original variable. if src.isClosureVar() { if leaks && Debug['m'] != 0 { - Warnl(src.Lineno, "leaking closure reference %S", src) + Warnl(src.Pos, "leaking closure reference %S", src) step.describe(src) } e.escwalk(level, dst, src.Name.Defn, e.stepWalk(dst, src.Name.Defn, "closure-var", step)) @@ -1903,10 +1903,10 @@ func (e *EscState) escwalkBody(level Level, dst *Node, src *Node, step *EscStep, p = p.Left // merely to satisfy error messages in tests } if Debug['m'] > 2 { - Warnl(src.Lineno, "%S escapes to heap, level=%v, dst=%v dst.eld=%v, src.eld=%v", + Warnl(src.Pos, "%S escapes to heap, level=%v, dst=%v dst.eld=%v, src.eld=%v", p, level, dst, dstE.Loopdepth, modSrcLoopdepth) } else { - Warnl(src.Lineno, "%S escapes to heap", p) + Warnl(src.Pos, "%S escapes to heap", p) step.describe(src) } } @@ -1924,7 +1924,7 @@ func (e *EscState) escwalkBody(level Level, dst *Node, src *Node, step *EscStep, if leaks { src.Esc = EscHeap if Debug['m'] != 0 && osrcesc != src.Esc { - Warnl(src.Lineno, "%S escapes to heap", src) + Warnl(src.Pos, "%S escapes to heap", src) step.describe(src) } extraloopdepth = modSrcLoopdepth @@ -1959,7 +1959,7 @@ func (e *EscState) escwalkBody(level Level, dst *Node, src *Node, step *EscStep, if leaks { src.Esc = EscHeap if Debug['m'] != 0 && osrcesc != src.Esc { - Warnl(src.Lineno, "%S escapes to heap", src) + Warnl(src.Pos, "%S escapes to heap", src) step.describe(src) } extraloopdepth = modSrcLoopdepth @@ -2064,7 +2064,7 @@ func (e *EscState) esctag(fn *Node) { narg++ if f.Type.Etype == TUINTPTR { if Debug['m'] != 0 { - Warnl(fn.Lineno, "%v assuming %v is unsafe uintptr", funcSym(fn), name(f.Sym, narg)) + Warnl(fn.Pos, "%v assuming %v is unsafe uintptr", funcSym(fn), name(f.Sym, narg)) } f.Note = unsafeUintptrTag } @@ -2079,7 +2079,7 @@ func (e *EscState) esctag(fn *Node) { narg++ if f.Type.Etype == TUINTPTR { if Debug['m'] != 0 { - Warnl(fn.Lineno, "%v marking %v as escaping uintptr", funcSym(fn), name(f.Sym, narg)) + Warnl(fn.Pos, "%v marking %v as escaping uintptr", funcSym(fn), name(f.Sym, narg)) } f.Note = uintptrEscapesTag } @@ -2087,7 +2087,7 @@ func (e *EscState) esctag(fn *Node) { if f.Isddd && f.Type.Elem().Etype == TUINTPTR { // final argument is ...uintptr. if Debug['m'] != 0 { - Warnl(fn.Lineno, "%v marking %v as escaping ...uintptr", funcSym(fn), name(f.Sym, narg)) + Warnl(fn.Pos, "%v marking %v as escaping ...uintptr", funcSym(fn), name(f.Sym, narg)) } f.Note = uintptrEscapesTag } diff --git a/src/cmd/compile/internal/gc/fmt.go b/src/cmd/compile/internal/gc/fmt.go index 16a4e342fc..e76d38a64b 100644 --- a/src/cmd/compile/internal/gc/fmt.go +++ b/src/cmd/compile/internal/gc/fmt.go @@ -283,8 +283,8 @@ func (n *Node) jconv(s fmt.State, flag FmtFlag) { fmt.Fprintf(s, " g(%d)", n.Name.Vargen) } - if n.Lineno != 0 { - fmt.Fprintf(s, " l(%d)", n.Lineno) + if n.Pos.IsKnown() { + fmt.Fprintf(s, " l(%d)", n.Pos.Line()) } if c == 0 && n.Xoffset != BADWIDTH { diff --git a/src/cmd/compile/internal/gc/gen.go b/src/cmd/compile/internal/gc/gen.go index c3d2c44a16..e9234802b3 100644 --- a/src/cmd/compile/internal/gc/gen.go +++ b/src/cmd/compile/internal/gc/gen.go @@ -64,7 +64,7 @@ func addrescapes(n *Node) { Curfn = Curfn.Func.Closure } ln := lineno - lineno = Curfn.Lineno + lineno = Curfn.Pos moveToHeap(n) Curfn = oldfn lineno = ln diff --git a/src/cmd/compile/internal/gc/go.go b/src/cmd/compile/internal/gc/go.go index 070fb5f54b..07c4d03b8b 100644 --- a/src/cmd/compile/internal/gc/go.go +++ b/src/cmd/compile/internal/gc/go.go @@ -8,6 +8,7 @@ import ( "cmd/compile/internal/ssa" "cmd/internal/bio" "cmd/internal/obj" + "cmd/internal/src" ) const ( @@ -42,10 +43,10 @@ type Sym struct { // saved and restored by dcopy Pkg *Pkg - Name string // object name - Def *Node // definition: ONAME OTYPE OPACK or OLITERAL - Block int32 // blocknumber to catch redeclaration - Lastlineno int32 // last declaration for diagnostic + Name string // object name + Def *Node // definition: ONAME OTYPE OPACK or OLITERAL + Block int32 // blocknumber to catch redeclaration + Lastlineno src.XPos // last declaration for diagnostic Label *Node // corresponding label (ephemeral) Origpkg *Pkg // original package for . import @@ -115,8 +116,6 @@ var sizeof_String int // runtime sizeof(String) var pragcgobuf string -var infile string - var outfile string var linkobj string diff --git a/src/cmd/compile/internal/gc/gsubr.go b/src/cmd/compile/internal/gc/gsubr.go index 1e8636347a..e0127afe89 100644 --- a/src/cmd/compile/internal/gc/gsubr.go +++ b/src/cmd/compile/internal/gc/gsubr.go @@ -40,12 +40,12 @@ func Prog(as obj.As) *obj.Prog { Clearp(pc) p.Link = pc - if lineno == 0 && Debug['K'] != 0 { - Warn("prog: line 0") + if !lineno.IsKnown() && Debug['K'] != 0 { + Warn("prog: unknown position (line 0)") } p.As = as - p.Lineno = lineno + p.Pos = lineno return p } @@ -60,7 +60,7 @@ func Appendpp(p *obj.Prog, as obj.As, ftype obj.AddrType, freg int16, foffset in q := Ctxt.NewProg() Clearp(q) q.As = as - q.Lineno = p.Lineno + q.Pos = p.Pos q.From.Type = ftype q.From.Reg = freg q.From.Offset = foffset diff --git a/src/cmd/compile/internal/gc/init.go b/src/cmd/compile/internal/gc/init.go index 5693052fdf..bfb0da5071 100644 --- a/src/cmd/compile/internal/gc/init.go +++ b/src/cmd/compile/internal/gc/init.go @@ -75,6 +75,9 @@ func anyinit(n []*Node) bool { } func fninit(n []*Node) { + // This code is using the last value of lineno for position information + // (see comment in noder.go, noder.file method, for details). + nf := initfix(n) if !anyinit(nf) { return diff --git a/src/cmd/compile/internal/gc/inl.go b/src/cmd/compile/internal/gc/inl.go index 7b2fcf89ba..9912cf5aa0 100644 --- a/src/cmd/compile/internal/gc/inl.go +++ b/src/cmd/compile/internal/gc/inl.go @@ -27,7 +27,10 @@ package gc -import "fmt" +import ( + "cmd/internal/src" + "fmt" +) // Get the function's package. For ordinary functions it's on the ->sym, but for imported methods // the ->sym can be re-used in the local package, so peel it off the receiver's type. @@ -837,7 +840,7 @@ func mkinlcall1(n *Node, fn *Node, isddd bool) *Node { args := as.Rlist as.Rlist.Set(nil) - setlno(call, n.Lineno) + setlno(call, n.Pos) as.Rlist.Set(args.Slice()) @@ -1014,20 +1017,20 @@ func (subst *inlsubst) node(n *Node) *Node { } // Plaster over linenumbers -func setlnolist(ll Nodes, lno int32) { +func setlnolist(ll Nodes, lno src.XPos) { for _, n := range ll.Slice() { setlno(n, lno) } } -func setlno(n *Node, lno int32) { +func setlno(n *Node, lno src.XPos) { if n == nil { return } // don't clobber names, unless they're freshly synthesized - if n.Op != ONAME || n.Lineno == 0 { - n.Lineno = lno + if n.Op != ONAME || !n.Pos.IsKnown() { + n.Pos = lno } setlno(n.Left, lno) diff --git a/src/cmd/compile/internal/gc/lex.go b/src/cmd/compile/internal/gc/lex.go index 87f9bf27cc..c0039fd880 100644 --- a/src/cmd/compile/internal/gc/lex.go +++ b/src/cmd/compile/internal/gc/lex.go @@ -7,16 +7,18 @@ package gc import ( "cmd/compile/internal/syntax" "cmd/internal/obj" + "cmd/internal/src" "fmt" "strings" ) -// lexlineno is the line number _after_ the most recently read rune. -// In particular, it's advanced (or rewound) as newlines are read (or unread). -var lexlineno int32 +// lineno is the source position at the start of the most recently lexed token. +// TODO(gri) rename and eventually remove +var lineno src.XPos -// lineno is the line number at the start of the most recently lexed token. -var lineno int32 +func MakePos(base *src.PosBase, line, col uint) src.XPos { + return Ctxt.PosTable.XPos(src.MakePos(base, line, col)) +} func isSpace(c rune) bool { return c == ' ' || c == '\t' || c == '\n' || c == '\r' @@ -38,17 +40,15 @@ func plan9quote(s string) string { return s } -type Pragma syntax.Pragma - const ( // Func pragmas. - Nointerface Pragma = 1 << iota - Noescape // func parameters don't escape - Norace // func must not have race detector annotations - Nosplit // func should not execute on separate stack - Noinline // func should not be inlined - CgoUnsafeArgs // treat a pointer to one arg as a pointer to them all - UintptrEscapes // pointers converted to uintptr escape + Nointerface syntax.Pragma = 1 << iota + Noescape // func parameters don't escape + Norace // func must not have race detector annotations + Nosplit // func should not execute on separate stack + Noinline // func should not be inlined + CgoUnsafeArgs // treat a pointer to one arg as a pointer to them all + UintptrEscapes // pointers converted to uintptr escape // Runtime-only func pragmas. // See ../../../../runtime/README.md for detailed descriptions. @@ -61,7 +61,7 @@ const ( NotInHeap // values of this type must not be heap allocated ) -func pragmaValue(verb string) Pragma { +func pragmaValue(verb string) syntax.Pragma { switch verb { case "go:nointerface": if obj.Fieldtrack_enabled != 0 { @@ -76,24 +76,12 @@ func pragmaValue(verb string) Pragma { case "go:noinline": return Noinline case "go:systemstack": - if !compiling_runtime { - yyerror("//go:systemstack only allowed in runtime") - } return Systemstack case "go:nowritebarrier": - if !compiling_runtime { - yyerror("//go:nowritebarrier only allowed in runtime") - } return Nowritebarrier case "go:nowritebarrierrec": - if !compiling_runtime { - yyerror("//go:nowritebarrierrec only allowed in runtime") - } return Nowritebarrierrec | Nowritebarrier // implies Nowritebarrier case "go:yeswritebarrierrec": - if !compiling_runtime { - yyerror("//go:yeswritebarrierrec only allowed in runtime") - } return Yeswritebarrierrec case "go:cgo_unsafe_args": return CgoUnsafeArgs diff --git a/src/cmd/compile/internal/gc/main.go b/src/cmd/compile/internal/gc/main.go index f5fb72bca5..a9f041c4c3 100644 --- a/src/cmd/compile/internal/gc/main.go +++ b/src/cmd/compile/internal/gc/main.go @@ -11,6 +11,7 @@ import ( "bytes" "cmd/compile/internal/ssa" "cmd/internal/obj" + "cmd/internal/src" "cmd/internal/sys" "flag" "fmt" @@ -187,7 +188,7 @@ func Main() { obj.Flagcount("r", "debug generated wrappers", &Debug['r']) flag.BoolVar(&flag_race, "race", false, "enable race detector") obj.Flagcount("s", "warn about composite literals that can be simplified", &Debug['s']) - flag.StringVar(&Ctxt.LineHist.TrimPathPrefix, "trimpath", "", "remove `prefix` from recorded source file paths") + flag.StringVar(&pathPrefix, "trimpath", "", "remove `prefix` from recorded source file paths") flag.BoolVar(&safemode, "u", false, "reject unsafe code") obj.Flagcount("v", "increase debug verbosity", &Debug['v']) obj.Flagcount("w", "debug type checking", &Debug['w']) @@ -219,6 +220,26 @@ func Main() { usage() } + if outfile == "" { + p := flag.Arg(0) + if i := strings.LastIndex(p, "/"); i >= 0 { + p = p[i+1:] + } + if runtime.GOOS == "windows" { + if i := strings.LastIndex(p, `\`); i >= 0 { + p = p[i+1:] + } + } + if i := strings.LastIndex(p, "."); i >= 0 { + p = p[:i] + } + suffix := ".o" + if writearchive { + suffix = ".a" + } + outfile = p + suffix + } + startProfile() if flag_race { @@ -301,33 +322,15 @@ func Main() { blockgen = 1 dclcontext = PEXTERN nerrors = 0 - lexlineno = 1 timings.Start("fe", "loadsys") loadsys() timings.Start("fe", "parse") - lexlineno0 := lexlineno - for _, infile = range flag.Args() { - linehistpush(infile) - block = 1 - iota_ = -1000000 - imported_unsafe = false - parseFile(infile) - if nsyntaxerrors != 0 { - errorexit() - } - - // Instead of converting EOF into '\n' in getc and count it as an extra line - // for the line history to work, and which then has to be corrected elsewhere, - // just add a line here. - lexlineno++ - linehistpop() - } + lines := parseFiles(flag.Args()) timings.Stop() - timings.AddEvent(int64(lexlineno-lexlineno0), "lines") + timings.AddEvent(int64(lines), "lines") - mkpackage(localpkg.Name) // final import not used checks finishUniverse() typecheckok = true @@ -792,7 +795,8 @@ func importfile(f *Val, indent []byte) { defer impf.Close() imp := bufio.NewReader(impf) - if strings.HasSuffix(file, ".a") { + const pkgSuffix = ".a" + if strings.HasSuffix(file, pkgSuffix) { if !skiptopkgdef(imp) { yyerror("import %s: not a package file", file) errorexit() @@ -840,9 +844,9 @@ func importfile(f *Val, indent []byte) { yyerror("cannot import unsafe package %q", importpkg.Path) } - // assume files move (get installed) - // so don't record the full path. - linehistpragma(file[len(file)-len(path_)-2:]) // acts as #pragma lib + // assume files move (get installed) so don't record the full path + // (e.g., for file "/Users/foo/go/pkg/darwin_amd64/math.a" record "math.a") + Ctxt.AddImport(file[len(file)-len(path_)-len(pkgSuffix):]) // In the importfile, if we find: // $$\n (textual format): not supported anymore @@ -885,7 +889,7 @@ func importfile(f *Val, indent []byte) { } } -func pkgnotused(lineno int32, path string, name string) { +func pkgnotused(lineno src.XPos, path string, name string) { // If the package was imported with a name other than the final // import path element, show it explicitly in the error message. // Note that this handles both renamed imports and imports of @@ -913,54 +917,37 @@ func mkpackage(pkgname string) { if pkgname != localpkg.Name { yyerror("package %s; expected %s", pkgname, localpkg.Name) } - for _, s := range localpkg.Syms { - if s.Def == nil { - continue - } - if s.Def.Op == OPACK { - // throw away top-level package name leftover - // from previous file. - // leave s->block set to cause redeclaration - // errors if a conflicting top-level name is - // introduced by a different file. - if !s.Def.Used && nsyntaxerrors == 0 { - pkgnotused(s.Def.Lineno, s.Def.Name.Pkg.Path, s.Name) - } - s.Def = nil - continue - } - - if s.isAlias() { - // throw away top-level name left over - // from previous import . "x" - if s.Def.Name != nil && s.Def.Name.Pack != nil && !s.Def.Name.Pack.Used && nsyntaxerrors == 0 { - pkgnotused(s.Def.Name.Pack.Lineno, s.Def.Name.Pack.Name.Pkg.Path, "") - s.Def.Name.Pack.Used = true - } + } +} - s.Def = nil - continue +func clearImports() { + for _, s := range localpkg.Syms { + if s.Def == nil { + continue + } + if s.Def.Op == OPACK { + // throw away top-level package name leftover + // from previous file. + // leave s->block set to cause redeclaration + // errors if a conflicting top-level name is + // introduced by a different file. + if !s.Def.Used && nsyntaxerrors == 0 { + pkgnotused(s.Def.Pos, s.Def.Name.Pkg.Path, s.Name) } + s.Def = nil + continue } - } - if outfile == "" { - p := infile - if i := strings.LastIndex(p, "/"); i >= 0 { - p = p[i+1:] - } - if runtime.GOOS == "windows" { - if i := strings.LastIndex(p, `\`); i >= 0 { - p = p[i+1:] + if s.isAlias() { + // throw away top-level name left over + // from previous import . "x" + if s.Def.Name != nil && s.Def.Name.Pack != nil && !s.Def.Name.Pack.Used && nsyntaxerrors == 0 { + pkgnotused(s.Def.Name.Pack.Pos, s.Def.Name.Pack.Name.Pkg.Path, "") + s.Def.Name.Pack.Used = true } + + s.Def = nil + continue } - if i := strings.LastIndex(p, "."); i >= 0 { - p = p[:i] - } - suffix := ".o" - if writearchive { - suffix = ".a" - } - outfile = p + suffix } } diff --git a/src/cmd/compile/internal/gc/noder.go b/src/cmd/compile/internal/gc/noder.go index 9dbe769fa7..e4378544f0 100644 --- a/src/cmd/compile/internal/gc/noder.go +++ b/src/cmd/compile/internal/gc/noder.go @@ -12,47 +12,109 @@ import ( "unicode/utf8" "cmd/compile/internal/syntax" + "cmd/internal/obj" + "cmd/internal/src" ) -func parseFile(filename string) { - src, err := os.Open(filename) - if err != nil { - fmt.Println(err) - errorexit() - } - defer src.Close() +func parseFiles(filenames []string) uint { + var lines uint + var noders []*noder - p := noder{baseline: lexlineno} - file, _ := syntax.Parse(src, p.error, p.pragma, 0) // errors are tracked via p.error + for _, filename := range filenames { + p := &noder{err: make(chan syntax.Error)} + noders = append(noders, p) - p.file(file) + go func(filename string) { + defer close(p.err) + base := src.NewFileBase(filename, absFilename(filename)) - if !imported_unsafe { - for _, x := range p.linknames { - p.error(syntax.Error{Line: x, Msg: "//go:linkname only allowed in Go files that import \"unsafe\""}) - } + f, err := os.Open(filename) + if err != nil { + p.error(syntax.Error{Pos: src.MakePos(base, 0, 0), Msg: err.Error()}) + return + } + defer f.Close() + + p.file, _ = syntax.Parse(base, f, p.error, p.pragma, 0) // errors are tracked via p.error + }(filename) } - if nsyntaxerrors == 0 { + for _, p := range noders { + for e := range p.err { + yyerrorpos(e.Pos, "%s", e.Msg) + } + + p.node() + lines += p.file.Lines + p.file = nil // release memory + + if nsyntaxerrors != 0 { + errorexit() + } // Always run testdclstack here, even when debug_dclstack is not set, as a sanity measure. testdclstack() } + + return lines +} + +func yyerrorpos(pos src.Pos, format string, args ...interface{}) { + yyerrorl(Ctxt.PosTable.XPos(pos), format, args...) } -// noder transforms package syntax's AST into a Nod tree. +var pathPrefix string + +func absFilename(name string) string { + return obj.AbsFile(Ctxt.Pathname, name, pathPrefix) +} + +// noder transforms package syntax's AST into a Node tree. type noder struct { - baseline int32 - linknames []int // tracks //go:linkname lines + file *syntax.File + linknames []linkname + pragcgobuf string + err chan syntax.Error +} + +// linkname records a //go:linkname directive. +type linkname struct { + pos src.Pos + local string + remote string } -func (p *noder) file(file *syntax.File) { - p.lineno(file.PkgName) - mkpackage(file.PkgName.Value) +func (p *noder) node() { + block = 1 + iota_ = -1000000 + imported_unsafe = false + + p.lineno(p.file.PkgName) + mkpackage(p.file.PkgName.Value) - xtop = append(xtop, p.decls(file.DeclList)...) + xtop = append(xtop, p.decls(p.file.DeclList)...) - lexlineno = p.baseline + int32(file.Lines) - 1 - lineno = lexlineno + for _, n := range p.linknames { + if imported_unsafe { + lookup(n.local).Linkname = n.remote + } else { + yyerrorpos(n.pos, "//go:linkname only allowed in Go files that import \"unsafe\"") + } + } + + pragcgobuf += p.pragcgobuf + + // For compatibility with old code only (comparisons w/ toolstash): + // The old line number tracking simply continued incrementing the + // virtual line number (lexlineno) and using it also for lineno. + // After processing the last function, the lineno was used for the + // line number information of the initialization code (fninit). + // It would be better to use an explicit "<autogenerated>" filename + // for fninit and set lineno to NoPos here. + // TODO(gri) fix this once we switched permanently to the new + // position information. + lineno = MakePos(p.file.Pos().Base(), uint(p.file.Lines), 0) + + clearImports() } func (p *noder) decls(decls []syntax.Decl) (l []*Node) { @@ -137,18 +199,18 @@ func (p *noder) importDecl(imp *syntax.ImportDecl) { return } if my.Name == "init" { - yyerrorl(pack.Lineno, "cannot import package as init - init must be a func") + yyerrorl(pack.Pos, "cannot import package as init - init must be a func") return } if my.Name == "_" { return } if my.Def != nil { - lineno = pack.Lineno + lineno = pack.Pos redeclare(my, "as imported package name") } my.Def = pack - my.Lastlineno = pack.Lineno + my.Lastlineno = pack.Pos my.Block = 1 // at top level } @@ -183,7 +245,7 @@ func (p *noder) typeDecl(decl *syntax.TypeDecl) *Node { // decl.Type may be nil but in that case we got a syntax error during parsing typ := p.typeExprOrNil(decl.Type) - return typedcl1(name, typ, Pragma(decl.Pragma), decl.Alias) + return typedcl1(name, typ, syntax.Pragma(decl.Pragma), decl.Alias) } func (p *noder) declNames(names []*syntax.Name) []*Node { @@ -213,7 +275,7 @@ func (p *noder) funcDecl(fun *syntax.FuncDecl) *Node { } } - pragma := Pragma(fun.Pragma) + pragma := fun.Pragma f.Nbody.Set(body) f.Noescape = pragma&Noescape != 0 @@ -221,7 +283,7 @@ func (p *noder) funcDecl(fun *syntax.FuncDecl) *Node { yyerror("can only use //go:noescape with external func implementations") } f.Func.Pragma = pragma - lineno = p.baseline + int32(fun.EndLine) - 1 + lineno = MakePos(fun.Pos().Base(), fun.EndLine, 0) f.Func.Endlineno = lineno funcbody(f) @@ -347,14 +409,14 @@ func (p *noder) expr(expr syntax.Expr) *Node { l[i] = p.wrapname(expr.ElemList[i], e) } n.List.Set(l) - lineno = p.baseline + int32(expr.EndLine) - 1 + lineno = MakePos(expr.Pos().Base(), expr.EndLine, 0) return n case *syntax.KeyValueExpr: return p.nod(expr, OKEY, p.expr(expr.Key), p.wrapname(expr.Value, p.expr(expr.Value))) case *syntax.FuncLit: closurehdr(p.typeExpr(expr.Type)) body := p.stmts(expr.Body) - lineno = p.baseline + int32(expr.EndLine) - 1 + lineno = MakePos(expr.Pos().Base(), expr.EndLine, 0) return p.setlineno(expr, closurebody(body)) case *syntax.ParenExpr: return p.nod(expr, OPAREN, p.expr(expr.X), nil) @@ -982,13 +1044,13 @@ func (p *noder) nod(orig syntax.Node, op Op, left, right *Node) *Node { return p.setlineno(orig, nod(op, left, right)) } -func (p *noder) setlineno(src syntax.Node, dst *Node) *Node { - l := int32(src.Line()) - if l == 0 { +func (p *noder) setlineno(src_ syntax.Node, dst *Node) *Node { + pos := src_.Pos() + if !pos.IsKnown() { // TODO(mdempsky): Shouldn't happen. Fix package syntax. return dst } - dst.Lineno = p.baseline + l - 1 + dst.Pos = Ctxt.PosTable.XPos(pos) return dst } @@ -996,72 +1058,47 @@ func (p *noder) lineno(n syntax.Node) { if n == nil { return } - l := int32(n.Line()) - if l == 0 { + pos := n.Pos() + if !pos.IsKnown() { // TODO(mdempsky): Shouldn't happen. Fix package syntax. return } - lineno = p.baseline + l - 1 + lineno = Ctxt.PosTable.XPos(pos) } func (p *noder) error(err error) { - line := p.baseline - var msg string - if err, ok := err.(syntax.Error); ok { - line += int32(err.Line) - 1 - msg = err.Msg - } else { - msg = err.Error() - } - yyerrorl(line, "%s", msg) + p.err <- err.(syntax.Error) } -func (p *noder) pragma(pos, line int, text string) syntax.Pragma { +func (p *noder) pragma(pos src.Pos, text string) syntax.Pragma { switch { case strings.HasPrefix(text, "line "): - // Want to use LastIndexByte below but it's not defined in Go1.4 and bootstrap fails. - i := strings.LastIndex(text, ":") // look from right (Windows filenames may contain ':') - if i < 0 { - break - } - n, err := strconv.Atoi(text[i+1:]) - if err != nil { - // TODO: make this an error instead? it is almost certainly a bug. - break - } - if n > 1e8 { - p.error(syntax.Error{Pos: pos, Line: line, Msg: "line number out of range"}) - errorexit() - } - if n <= 0 { - break - } - lexlineno = p.baseline + int32(line) - linehistupdate(text[5:i], n) + // line directives are handled by syntax package + panic("unreachable") case strings.HasPrefix(text, "go:linkname "): - // Record line number so we can emit an error later if - // the file doesn't import package unsafe. - p.linknames = append(p.linknames, line) - f := strings.Fields(text) if len(f) != 3 { - p.error(syntax.Error{Pos: pos, Line: line, Msg: "usage: //go:linkname localname linkname"}) + p.error(syntax.Error{Pos: pos, Msg: "usage: //go:linkname localname linkname"}) break } - lookup(f[1]).Linkname = f[2] + p.linknames = append(p.linknames, linkname{pos, f[1], f[2]}) case strings.HasPrefix(text, "go:cgo_"): - lineno = p.baseline + int32(line) - 1 // pragcgo may call yyerror - pragcgobuf += pragcgo(text) + // TODO(gri): lineno = p.baseline + int32(line) - 1 // pragcgo may call yyerror + p.pragcgobuf += pragcgo(text) fallthrough // because of //go:cgo_unsafe_args default: verb := text if i := strings.Index(text, " "); i >= 0 { verb = verb[:i] } - lineno = p.baseline + int32(line) - 1 // pragmaValue may call yyerror - return syntax.Pragma(pragmaValue(verb)) + prag := pragmaValue(verb) + const runtimePragmas = Systemstack | Nowritebarrier | Nowritebarrierrec | Yeswritebarrierrec + if !compiling_runtime && prag&runtimePragmas != 0 { + p.error(syntax.Error{Pos: pos, Msg: fmt.Sprintf("//go:%s only allowed in runtime", verb)}) + } + return prag } return 0 diff --git a/src/cmd/compile/internal/gc/order.go b/src/cmd/compile/internal/gc/order.go index e3d65e5e9d..616945685c 100644 --- a/src/cmd/compile/internal/gc/order.go +++ b/src/cmd/compile/internal/gc/order.go @@ -5,6 +5,7 @@ package gc import ( + "cmd/internal/src" "fmt" ) @@ -510,7 +511,7 @@ func orderstmt(n *Node, order *Order) { n.Left = orderexpr(n.Left, order, nil) n.Left = ordersafeexpr(n.Left, order) - tmp1 := treecopy(n.Left, 0) + tmp1 := treecopy(n.Left, src.NoXPos) if tmp1.Op == OINDEXMAP { tmp1.Etype = 0 // now an rvalue not an lvalue } diff --git a/src/cmd/compile/internal/gc/pgen.go b/src/cmd/compile/internal/gc/pgen.go index 643ba79d63..8d17536269 100644 --- a/src/cmd/compile/internal/gc/pgen.go +++ b/src/cmd/compile/internal/gc/pgen.go @@ -7,6 +7,7 @@ package gc import ( "cmd/compile/internal/ssa" "cmd/internal/obj" + "cmd/internal/src" "cmd/internal/sys" "fmt" "sort" @@ -311,7 +312,7 @@ func compile(fn *Node) { assertI2I2 = Sysfunc("assertI2I2") } - defer func(lno int32) { + defer func(lno src.XPos) { lineno = lno }(setlineno(fn)) diff --git a/src/cmd/compile/internal/gc/phi.go b/src/cmd/compile/internal/gc/phi.go index 0d4dbb5b2e..540e144c38 100644 --- a/src/cmd/compile/internal/gc/phi.go +++ b/src/cmd/compile/internal/gc/phi.go @@ -6,6 +6,7 @@ package gc import ( "cmd/compile/internal/ssa" + "cmd/internal/src" "container/heap" "fmt" ) @@ -233,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++ { @@ -466,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 @@ -499,7 +500,7 @@ loop: } // lookupVarOutgoing finds the variable's value at the end of block b. -func (s *simplePhiState) lookupVarOutgoing(b *ssa.Block, t ssa.Type, var_ *Node, line int32) *ssa.Value { +func (s *simplePhiState) lookupVarOutgoing(b *ssa.Block, t ssa.Type, var_ *Node, line src.XPos) *ssa.Value { for { if v := s.defvars[b.ID][var_]; v != nil { return v diff --git a/src/cmd/compile/internal/gc/plive.go b/src/cmd/compile/internal/gc/plive.go index 5fa864568f..03161f889f 100644 --- a/src/cmd/compile/internal/gc/plive.go +++ b/src/cmd/compile/internal/gc/plive.go @@ -1014,7 +1014,7 @@ func unlinkedprog(as obj.As) *obj.Prog { // covering an existing instruction. func newpcdataprog(prog *obj.Prog, index int32) *obj.Prog { pcdata := unlinkedprog(obj.APCDATA) - pcdata.Lineno = prog.Lineno + pcdata.Pos = prog.Pos pcdata.From.Type = obj.TYPE_CONST pcdata.From.Offset = obj.PCDATA_StackMapIndex pcdata.To.Type = obj.TYPE_CONST @@ -1253,7 +1253,7 @@ func livenessepilogue(lv *Liveness) { if !n.Name.Needzero { n.Name.Needzero = true if debuglive >= 1 { - Warnl(p.Lineno, "%v: %L is ambiguously live", Curfn.Func.Nname, n) + Warnl(p.Pos, "%v: %L is ambiguously live", Curfn.Func.Nname, n) } } } @@ -1344,7 +1344,7 @@ func livenessepilogue(lv *Liveness) { } n := lv.vars[j] if n.Class != PPARAM { - yyerrorl(p.Lineno, "internal error: %v %L recorded as live on entry, p.Pc=%v", Curfn.Func.Nname, n, p.Pc) + yyerrorl(p.Pos, "internal error: %v %L recorded as live on entry, p.Pc=%v", Curfn.Func.Nname, n, p.Pc) } } } diff --git a/src/cmd/compile/internal/gc/racewalk.go b/src/cmd/compile/internal/gc/racewalk.go index bfb82b91b2..671ed1eed7 100644 --- a/src/cmd/compile/internal/gc/racewalk.go +++ b/src/cmd/compile/internal/gc/racewalk.go @@ -5,6 +5,7 @@ package gc import ( + "cmd/internal/src" "fmt" "strings" ) @@ -495,7 +496,7 @@ func callinstr(np **Node, init *Nodes, wr int, skip int) bool { *np = n } - n = treecopy(n, 0) + n = treecopy(n, src.NoXPos) makeaddable(n) var f *Node if flag_msan { diff --git a/src/cmd/compile/internal/gc/sinit.go b/src/cmd/compile/internal/gc/sinit.go index 6b3c426ca3..29819e92b2 100644 --- a/src/cmd/compile/internal/gc/sinit.go +++ b/src/cmd/compile/internal/gc/sinit.go @@ -258,7 +258,7 @@ func staticinit(n *Node, out *[]*Node) bool { Fatalf("staticinit") } - lineno = n.Lineno + lineno = n.Pos l := n.Name.Defn.Left r := n.Name.Defn.Right return staticassign(l, r, out) @@ -469,7 +469,7 @@ func staticassign(l *Node, r *Node, out *[]*Node) bool { case OCLOSURE: if hasemptycvars(r) { if Debug_closure > 0 { - Warnl(r.Lineno, "closure converted to global") + Warnl(r.Pos, "closure converted to global") } // Closures with no captured variables are globals, // so the assignment can be done at link time. diff --git a/src/cmd/compile/internal/gc/sizeof_test.go b/src/cmd/compile/internal/gc/sizeof_test.go index b86188c314..b2239c3526 100644 --- a/src/cmd/compile/internal/gc/sizeof_test.go +++ b/src/cmd/compile/internal/gc/sizeof_test.go @@ -22,14 +22,14 @@ func TestSizeof(t *testing.T) { _32bit uintptr // size on 32bit platforms _64bit uintptr // size on 64bit platforms }{ - {Func{}, 92, 160}, + {Func{}, 100, 168}, {Name{}, 44, 72}, {Param{}, 24, 48}, - {Node{}, 92, 144}, - {Sym{}, 60, 112}, - {Type{}, 60, 96}, + {Node{}, 96, 152}, + {Sym{}, 64, 120}, + {Type{}, 64, 104}, {MapType{}, 20, 40}, - {ForwardType{}, 16, 32}, + {ForwardType{}, 20, 32}, {FuncType{}, 28, 48}, {StructType{}, 12, 24}, {InterType{}, 4, 8}, diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go index bf483f8416..da6b69fc5e 100644 --- a/src/cmd/compile/internal/gc/ssa.go +++ b/src/cmd/compile/internal/gc/ssa.go @@ -14,6 +14,7 @@ import ( "cmd/compile/internal/ssa" "cmd/internal/obj" + "cmd/internal/src" "cmd/internal/sys" ) @@ -43,7 +44,7 @@ func buildssa(fn *Node) *ssa.Func { } var s state - s.pushLine(fn.Lineno) + s.pushLine(fn.Pos) defer s.popLine() if fn.Func.Pragma&CgoUnsafeArgs != 0 { @@ -53,8 +54,8 @@ func buildssa(fn *Node) *ssa.Func { s.noWB = true } defer func() { - if s.WBLineno != 0 { - fn.Func.WBLineno = s.WBLineno + if s.WBPos.IsKnown() { + fn.Func.WBPos = s.WBPos } }() // TODO(khr): build config just once at the start of the compiler binary @@ -148,11 +149,11 @@ func buildssa(fn *Node) *ssa.Func { // Check that we used all labels for name, lab := range s.labels { if !lab.used() && !lab.reported && !lab.defNode.Used { - yyerrorl(lab.defNode.Lineno, "label %v defined and not used", name) + yyerrorl(lab.defNode.Pos, "label %v defined and not used", name) lab.reported = true } if lab.used() && !lab.defined() && !lab.reported { - yyerrorl(lab.useNode.Lineno, "label %v not defined", name) + yyerrorl(lab.useNode.Pos, "label %v not defined", name) lab.reported = true } } @@ -231,7 +232,7 @@ type state struct { sb *ssa.Value // line number stack. The current line number is top of stack - line []int32 + line []src.XPos // list of panic calls by function name and line number. // Used to deduplicate panic calls. @@ -245,12 +246,12 @@ type state struct { cgoUnsafeArgs bool noWB bool - WBLineno int32 // line number of first write barrier. 0=no write barriers + WBPos src.XPos // line number of first write barrier. 0=no write barriers } type funcLine struct { f *Node - line int32 + line src.XPos } type ssaLabel struct { @@ -281,11 +282,13 @@ func (s *state) label(sym *Sym) *ssaLabel { return lab } -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) Warnl(line int32, msg string, args ...interface{}) { s.config.Warnl(line, msg, args...) } -func (s *state) Debug_checknil() bool { return s.config.Debug_checknil() } +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.peekPos(), msg, args...) } +func (s *state) Warnl(pos src.XPos, msg string, args ...interface{}) { + s.config.Warnl(pos, msg, args...) +} +func (s *state) Debug_checknil() bool { return s.config.Debug_checknil() } var ( // dummy node for the memory variable @@ -326,18 +329,18 @@ 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 } // pushLine pushes a line number on the line number stack. -func (s *state) pushLine(line int32) { - if line == 0 { +func (s *state) pushLine(line src.XPos) { + 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: line 0") + Warn("buildssa: unknown position (line 0)") } } s.line = append(s.line, line) @@ -348,130 +351,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() int32 { +// peekPos peeks the top of the line number stack. +func (s *state) peekPos() src.XPos { 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 { @@ -492,7 +495,7 @@ func (s *state) stmtList(l Nodes) { // stmt converts the statement n to SSA and adds it to s. func (s *state) stmt(n *Node) { - s.pushLine(n.Lineno) + s.pushLine(n.Pos) defer s.popLine() // If s.curBlock is nil, then we're about to generate dead code. @@ -558,8 +561,8 @@ func (s *state) stmt(n *Node) { deref = true res = res.Args[0] } - s.assign(n.List.First(), res, needwritebarrier(n.List.First(), n.Rlist.First()), deref, n.Lineno, 0, false) - s.assign(n.List.Second(), resok, false, false, n.Lineno, 0, false) + s.assign(n.List.First(), res, needwritebarrier(n.List.First(), n.Rlist.First()), deref, n.Pos, 0, false) + s.assign(n.List.Second(), resok, false, false, n.Pos, 0, false) return case OAS2FUNC: @@ -574,8 +577,8 @@ func (s *state) stmt(n *Node) { // This is future-proofing against non-scalar 2-result intrinsics. // Currently we only have scalar ones, which result in no write barrier. fakeret := &Node{Op: OINDREGSP} - s.assign(n.List.First(), v1, needwritebarrier(n.List.First(), fakeret), false, n.Lineno, 0, false) - s.assign(n.List.Second(), v2, needwritebarrier(n.List.Second(), fakeret), false, n.Lineno, 0, false) + s.assign(n.List.First(), v1, needwritebarrier(n.List.First(), fakeret), false, n.Pos, 0, false) + s.assign(n.List.Second(), v2, needwritebarrier(n.List.Second(), fakeret), false, n.Pos, 0, false) return case ODCL: @@ -605,7 +608,7 @@ func (s *state) stmt(n *Node) { if !lab.defined() { lab.defNode = n } else { - s.Error("label %v already defined at %v", sym, linestr(lab.defNode.Lineno)) + s.Error("label %v already defined at %v", sym, linestr(lab.defNode.Pos)) lab.reported = true } // The label might already have a target block via a goto. @@ -690,13 +693,13 @@ func (s *state) stmt(n *Node) { if samesafeexpr(n.Left, rhs.List.First()) { if !s.canSSA(n.Left) { if Debug_append > 0 { - Warnl(n.Lineno, "append: len-only update") + Warnl(n.Pos, "append: len-only update") } s.append(rhs, true) return } else { if Debug_append > 0 { // replicating old diagnostic message - Warnl(n.Lineno, "append: len-only update (in local slice)") + Warnl(n.Pos, "append: len-only update (in local slice)") } } } @@ -759,7 +762,7 @@ func (s *state) stmt(n *Node) { } } - s.assign(n.Left, r, needwb, deref, n.Lineno, skip, isVolatile) + s.assign(n.Left, r, needwb, deref, n.Pos, skip, isVolatile) case OIF: bThen := s.f.NewBlock(ssa.BlockPlain) @@ -1435,7 +1438,7 @@ func (s *state) expr(n *Node) *ssa.Value { if !(n.Op == ONAME || n.Op == OLITERAL && n.Sym != nil) { // ONAMEs and named OLITERALs have the line number // of the decl, not the use. See issue 14742. - s.pushLine(n.Lineno) + s.pushLine(n.Pos) defer s.popLine() } @@ -1969,7 +1972,7 @@ func (s *state) expr(n *Node) *ssa.Value { return s.newValue2(ssa.OpLoad, n.Type, addr, s.mem()) case OIND: - p := s.exprPtr(n.Left, false, n.Lineno) + p := s.exprPtr(n.Left, false, n.Pos) return s.newValue2(ssa.OpLoad, n.Type, p, s.mem()) case ODOT: @@ -1982,7 +1985,7 @@ func (s *state) expr(n *Node) *ssa.Value { return s.newValue2(ssa.OpLoad, n.Type, p, s.mem()) case ODOTPTR: - p := s.exprPtr(n.Left, false, n.Lineno) + p := s.exprPtr(n.Left, false, n.Pos) p = s.newValue1I(ssa.OpOffPtr, p.Type, n.Xoffset, p) return s.newValue2(ssa.OpLoad, n.Type, p, s.mem()) @@ -2223,7 +2226,7 @@ func (s *state) append(n *Node, inplace bool) *ssa.Value { if ssa.IsStackAddr(addr) { s.vars[&memVar] = s.newValue3I(ssa.OpStore, ssa.TypeMem, pt.Size(), addr, r[0], s.mem()) } else { - s.insertWBstore(pt, addr, r[0], n.Lineno, 0) + s.insertWBstore(pt, addr, r[0], n.Pos, 0) } // load the value we just stored to avoid having to spill it s.vars[&ptrVar] = s.newValue2(ssa.OpLoad, pt, addr, s.mem()) @@ -2278,13 +2281,13 @@ func (s *state) append(n *Node, inplace bool) *ssa.Value { addr := s.newValue2(ssa.OpPtrIndex, pt, p2, s.constInt(Types[TINT], int64(i))) if arg.store { if haspointers(et) { - s.insertWBstore(et, addr, arg.v, n.Lineno, 0) + s.insertWBstore(et, addr, arg.v, n.Pos, 0) } else { s.vars[&memVar] = s.newValue3I(ssa.OpStore, ssa.TypeMem, et.Size(), addr, arg.v, s.mem()) } } else { if haspointers(et) { - s.insertWBmove(et, addr, arg.v, n.Lineno, arg.isVolatile) + s.insertWBmove(et, addr, arg.v, n.Pos, arg.isVolatile) } else { s.vars[&memVar] = s.newValue3I(ssa.OpMove, ssa.TypeMem, sizeAlignAuxInt(et), addr, arg.v, s.mem()) } @@ -2361,7 +2364,7 @@ const ( // If deref is true, rightIsVolatile reports whether right points to volatile (clobbered by a call) storage. // Include a write barrier if wb is true. // skip indicates assignments (at the top level) that can be avoided. -func (s *state) assign(left *Node, right *ssa.Value, wb, deref bool, line int32, skip skipMask, rightIsVolatile bool) { +func (s *state) assign(left *Node, right *ssa.Value, wb, deref bool, line src.XPos, skip skipMask, rightIsVolatile bool) { if left.Op == ONAME && isblank(left) { return } @@ -2855,7 +2858,7 @@ func (s *state) intrinsicCall(n *Node) *ssa.Value { if x.Op == ssa.OpSelect0 || x.Op == ssa.OpSelect1 { x = x.Args[0] } - Warnl(n.Lineno, "intrinsic substitution for %v with %s", n.Left.Sym.Name, x.LongString()) + Warnl(n.Pos, "intrinsic substitution for %v with %s", n.Left.Sym.Name, x.LongString()) } return v } @@ -2945,7 +2948,7 @@ func (s *state) call(n *Node, k callKind) *ssa.Value { // We can then pass that to defer or go. n2 := newname(fn.Sym) n2.Class = PFUNC - n2.Lineno = fn.Lineno + n2.Pos = fn.Pos n2.Type = Types[TUINT8] // dummy type for a static closure. Could use runtime.funcval if we had it. closure = s.expr(n2) // Note: receiver is already assigned in n.List, so we don't @@ -3146,12 +3149,12 @@ func (s *state) addr(n *Node, bounded bool) (*ssa.Value, bool) { return s.newValue2(ssa.OpPtrIndex, ptrto(n.Left.Type.Elem()), a, i), isVolatile } case OIND: - return s.exprPtr(n.Left, bounded, n.Lineno), false + return s.exprPtr(n.Left, bounded, n.Pos), false case ODOT: p, isVolatile := s.addr(n.Left, bounded) return s.newValue1I(ssa.OpOffPtr, t, n.Xoffset, p), isVolatile case ODOTPTR: - p := s.exprPtr(n.Left, bounded, n.Lineno) + p := s.exprPtr(n.Left, bounded, n.Pos) return s.newValue1I(ssa.OpOffPtr, t, n.Xoffset, p), false case OCLOSUREVAR: return s.newValue1I(ssa.OpOffPtr, t, n.Xoffset, @@ -3260,10 +3263,10 @@ func canSSAType(t *Type) bool { } // exprPtr evaluates n to a pointer and nil-checks it. -func (s *state) exprPtr(n *Node, bounded bool, lineno int32) *ssa.Value { +func (s *state) exprPtr(n *Node, bounded bool, lineno src.XPos) *ssa.Value { p := s.expr(n) if bounded || n.NonNil { - if s.f.Config.Debug_checknil() && lineno > 1 { + if s.f.Config.Debug_checknil() && lineno.Line() > 1 { s.f.Config.Warnl(lineno, "removed nil check") } return p @@ -3315,7 +3318,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) @@ -3408,7 +3411,7 @@ func (s *state) rtcall(fn *Node, returns bool, results []*Type, args ...*ssa.Val // insertWBmove inserts the assignment *left = *right including a write barrier. // t is the type being assigned. // If right == nil, then we're zeroing *left. -func (s *state) insertWBmove(t *Type, left, right *ssa.Value, line int32, rightIsVolatile bool) { +func (s *state) insertWBmove(t *Type, left, right *ssa.Value, line src.XPos, rightIsVolatile bool) { // if writeBarrier.enabled { // typedmemmove(&t, left, right) // } else { @@ -3426,8 +3429,8 @@ func (s *state) insertWBmove(t *Type, left, right *ssa.Value, line int32, rightI if s.noWB { s.Error("write barrier prohibited") } - if s.WBLineno == 0 { - s.WBLineno = left.Line + if !s.WBPos.IsKnown() { + s.WBPos = left.Pos } var val *ssa.Value @@ -3456,7 +3459,7 @@ func (s *state) insertWBmove(t *Type, left, right *ssa.Value, line int32, rightI // insertWBstore inserts the assignment *left = right including a write barrier. // t is the type being assigned. -func (s *state) insertWBstore(t *Type, left, right *ssa.Value, line int32, skip skipMask) { +func (s *state) insertWBstore(t *Type, left, right *ssa.Value, line src.XPos, skip skipMask) { // store scalar fields // if writeBarrier.enabled { // writebarrierptr for pointer fields @@ -3467,8 +3470,8 @@ func (s *state) insertWBstore(t *Type, left, right *ssa.Value, line int32, skip if s.noWB { s.Error("write barrier prohibited") } - if s.WBLineno == 0 { - s.WBLineno = left.Line + if !s.WBPos.IsKnown() { + s.WBPos = left.Pos } s.storeTypeScalars(t, left, right, skip) s.storeTypePtrsWB(t, left, right) @@ -4062,7 +4065,7 @@ func (s *state) dottype(n *Node, commaok bool) (res, resok *ssa.Value) { // Converting to an empty interface. // Input could be an empty or nonempty interface. if Debug_typeassert > 0 { - Warnl(n.Lineno, "type assertion inlined") + Warnl(n.Pos, "type assertion inlined") } // Get itab/type field from input. @@ -4129,7 +4132,7 @@ func (s *state) dottype(n *Node, commaok bool) (res, resok *ssa.Value) { } // converting to a nonempty interface needs a runtime call. if Debug_typeassert > 0 { - Warnl(n.Lineno, "type assertion not inlined") + Warnl(n.Pos, "type assertion not inlined") } if n.Left.Type.IsEmptyInterface() { if commaok { @@ -4146,7 +4149,7 @@ func (s *state) dottype(n *Node, commaok bool) (res, resok *ssa.Value) { } if Debug_typeassert > 0 { - Warnl(n.Lineno, "type assertion inlined") + Warnl(n.Pos, "type assertion inlined") } // Converting to a concrete type. @@ -4154,7 +4157,7 @@ func (s *state) dottype(n *Node, commaok bool) (res, resok *ssa.Value) { typ := s.ifaceType(n.Left.Type, iface) // actual concrete type of input interface if Debug_typeassert > 0 { - Warnl(n.Lineno, "type assertion inlined") + Warnl(n.Pos, "type assertion inlined") } var tmp *Node // temporary for use with large types @@ -4293,7 +4296,7 @@ func (s *state) checkgoto(from *Node, to *Node) { fs = fs.Link } - lno := from.Left.Lineno + lno := from.Left.Pos if block != nil { yyerrorl(lno, "goto %v jumps into block starting at %v", from.Left.Sym, linestr(block.Lastlineno)) } else { @@ -4380,9 +4383,9 @@ func (s *SSAGenState) Pc() *obj.Prog { return pc } -// SetLineno sets the current source line number. -func (s *SSAGenState) SetLineno(l int32) { - lineno = l +// SetPos sets the current source position. +func (s *SSAGenState) SetPos(pos src.XPos) { + lineno = pos } // genssa appends entries to ptxt for each instruction in f. @@ -4462,8 +4465,11 @@ func genssa(f *ssa.Func, ptxt *obj.Prog, gcargs, gclocals *Sym) { f.Logf("%s\t%s\n", s, p) } if f.Config.HTML != nil { - saved := ptxt.Ctxt.LineHist.PrintFilenameOnly - ptxt.Ctxt.LineHist.PrintFilenameOnly = true + // LineHist is defunct now - this code won't do + // anything. + // TODO: fix this (ideally without a global variable) + // saved := ptxt.Ctxt.LineHist.PrintFilenameOnly + // ptxt.Ctxt.LineHist.PrintFilenameOnly = true var buf bytes.Buffer buf.WriteString("<code>") buf.WriteString("<dl class=\"ssa-gen\">") @@ -4483,7 +4489,7 @@ func genssa(f *ssa.Func, ptxt *obj.Prog, gcargs, gclocals *Sym) { buf.WriteString("</dl>") buf.WriteString("</code>") f.Config.HTML.WriteColumn("genssa", buf.String()) - ptxt.Ctxt.LineHist.PrintFilenameOnly = saved + // ptxt.Ctxt.LineHist.PrintFilenameOnly = saved } } @@ -4958,8 +4964,8 @@ func (e *ssaExport) CanSSA(t ssa.Type) bool { return canSSAType(t.(*Type)) } -func (e *ssaExport) Line(line int32) string { - return linestr(line) +func (e *ssaExport) Line(pos src.XPos) string { + return linestr(pos) } // Log logs a message from the compiler. @@ -4974,15 +4980,15 @@ func (e *ssaExport) Log() bool { } // Fatal reports a compiler error and exits. -func (e *ssaExport) Fatalf(line int32, msg string, args ...interface{}) { - lineno = line +func (e *ssaExport) Fatalf(pos src.XPos, msg string, args ...interface{}) { + lineno = pos Fatalf(msg, args...) } // Warnl reports a "warning", which is usually flag-triggered // logging output for the benefit of tests. -func (e *ssaExport) Warnl(line int32, fmt_ string, args ...interface{}) { - Warnl(line, fmt_, args...) +func (e *ssaExport) Warnl(pos src.XPos, fmt_ string, args ...interface{}) { + Warnl(pos, fmt_, args...) } func (e *ssaExport) Debug_checknil() bool { diff --git a/src/cmd/compile/internal/gc/subr.go b/src/cmd/compile/internal/gc/subr.go index 7d008dfa65..6a5e1a478e 100644 --- a/src/cmd/compile/internal/gc/subr.go +++ b/src/cmd/compile/internal/gc/subr.go @@ -7,6 +7,7 @@ package gc import ( "bytes" "cmd/internal/obj" + "cmd/internal/src" "crypto/md5" "encoding/binary" "fmt" @@ -20,8 +21,8 @@ import ( ) type Error struct { - lineno int32 - msg string + pos src.XPos + msg string } var errors []Error @@ -39,24 +40,24 @@ func adderrorname(n *Node) { return } old := fmt.Sprintf("%v: undefined: %v\n", n.Line(), n.Left) - if len(errors) > 0 && errors[len(errors)-1].lineno == n.Lineno && errors[len(errors)-1].msg == old { + if len(errors) > 0 && errors[len(errors)-1].pos.Line() == n.Pos.Line() && errors[len(errors)-1].msg == old { errors[len(errors)-1].msg = fmt.Sprintf("%v: undefined: %v in %v\n", n.Line(), n.Left, n) } } -func adderr(line int32, format string, args ...interface{}) { +func adderr(pos src.XPos, format string, args ...interface{}) { errors = append(errors, Error{ - lineno: line, - msg: fmt.Sprintf("%v: %s\n", linestr(line), fmt.Sprintf(format, args...)), + pos: pos, + msg: fmt.Sprintf("%v: %s\n", linestr(pos), fmt.Sprintf(format, args...)), }) } -// byLineno sorts errors by lineno. -type byLineno []Error +// byPos sorts errors by source position. +type byPos []Error -func (x byLineno) Len() int { return len(x) } -func (x byLineno) Less(i, j int) bool { return x[i].lineno < x[j].lineno } -func (x byLineno) Swap(i, j int) { x[i], x[j] = x[j], x[i] } +func (x byPos) Len() int { return len(x) } +func (x byPos) Less(i, j int) bool { return x[i].pos.Before(x[j].pos) } +func (x byPos) Swap(i, j int) { x[i], x[j] = x[j], x[i] } // flusherrors sorts errors seen so far by line number, prints them to stdout, // and empties the errors array. @@ -65,7 +66,7 @@ func flusherrors() { if len(errors) == 0 { return } - sort.Stable(byLineno(errors)) + sort.Stable(byPos(errors)) for i := 0; i < len(errors); i++ { if i == 0 || errors[i].msg != errors[i-1].msg { fmt.Printf("%s", errors[i].msg) @@ -85,49 +86,56 @@ func hcrash() { } } -func linestr(line int32) string { - return Ctxt.Line(int(line)) +func linestr(pos src.XPos) string { + return Ctxt.PosTable.Pos(pos).String() } // lasterror keeps track of the most recently issued error. // It is used to avoid multiple error messages on the same // line. var lasterror struct { - syntax int32 // line of last syntax error - other int32 // line of last non-syntax error - msg string // error message of last non-syntax error + syntax src.XPos // source position of last syntax error + other src.XPos // source position of last non-syntax error + msg string // error message of last non-syntax error } -func yyerrorl(line int32, format string, args ...interface{}) { +// sameline reports whether two positions a, b are on the same line. +func sameline(a, b src.XPos) bool { + p := Ctxt.PosTable.Pos(a) + q := Ctxt.PosTable.Pos(b) + return p.Base() == q.Base() && p.Line() == q.Line() +} + +func yyerrorl(pos src.XPos, format string, args ...interface{}) { msg := fmt.Sprintf(format, args...) if strings.HasPrefix(msg, "syntax error") { nsyntaxerrors++ // only one syntax error per line, no matter what error - if lasterror.syntax == line { + if sameline(lasterror.syntax, pos) { return } - lasterror.syntax = line + lasterror.syntax = pos } else { // only one of multiple equal non-syntax errors per line // (flusherrors shows only one of them, so we filter them // here as best as we can (they may not appear in order) // so that we don't count them here and exit early, and // then have nothing to show for.) - if lasterror.other == line && lasterror.msg == msg { + if sameline(lasterror.other, pos) && lasterror.msg == msg { return } - lasterror.other = line + lasterror.other = pos lasterror.msg = msg } - adderr(line, "%s", msg) + adderr(pos, "%s", msg) hcrash() nerrors++ if nsavederrors+nerrors >= 10 && Debug['e'] == 0 { flusherrors() - fmt.Printf("%v: too many errors\n", linestr(line)) + fmt.Printf("%v: too many errors\n", linestr(pos)) errorexit() } } @@ -142,7 +150,7 @@ func Warn(fmt_ string, args ...interface{}) { hcrash() } -func Warnl(line int32, fmt_ string, args ...interface{}) { +func Warnl(line src.XPos, fmt_ string, args ...interface{}) { adderr(line, fmt_, args...) if Debug['m'] != 0 { flusherrors() @@ -172,35 +180,7 @@ func Fatalf(fmt_ string, args ...interface{}) { errorexit() } -func linehistpragma(file string) { - if Debug['i'] != 0 { - fmt.Printf("pragma %s at line %v\n", file, linestr(lexlineno)) - } - Ctxt.AddImport(file) -} - -func linehistpush(file string) { - if Debug['i'] != 0 { - fmt.Printf("import %s at line %v\n", file, linestr(lexlineno)) - } - Ctxt.LineHist.Push(int(lexlineno), file) -} - -func linehistpop() { - if Debug['i'] != 0 { - fmt.Printf("end of import at line %v\n", linestr(lexlineno)) - } - Ctxt.LineHist.Pop(int(lexlineno)) -} - -func linehistupdate(file string, off int) { - if Debug['i'] != 0 { - fmt.Printf("line %s at line %v\n", file, linestr(lexlineno)) - } - Ctxt.LineHist.Update(int(lexlineno), file, off) -} - -func setlineno(n *Node) int32 { +func setlineno(n *Node) src.XPos { lno := lineno if n != nil { switch n.Op { @@ -214,10 +194,10 @@ func setlineno(n *Node) int32 { fallthrough default: - lineno = n.Lineno - if lineno == 0 { + lineno = n.Pos + if !lineno.IsKnown() { if Debug['K'] != 0 { - Warn("setlineno: line 0") + Warn("setlineno: unknown position (line 0)") } lineno = lno } @@ -348,7 +328,7 @@ func importdot(opkg *Pkg, pack *Node) { if n == 0 { // can't possibly be used - there were no symbols - yyerrorl(pack.Lineno, "imported and not used: %q", opkg.Path) + yyerrorl(pack.Pos, "imported and not used: %q", opkg.Path) } } @@ -357,7 +337,7 @@ func nod(op Op, nleft *Node, nright *Node) *Node { n.Op = op n.Left = nleft n.Right = nright - n.Lineno = lineno + n.Pos = lineno n.Xoffset = BADWIDTH n.Orig = n switch op { @@ -473,9 +453,9 @@ func nodbool(b bool) *Node { // treecopy recursively copies n, with the exception of // ONAME, OLITERAL, OTYPE, and non-iota ONONAME leaves. // Copies of iota ONONAME nodes are assigned the current -// value of iota_. If lineno != 0, it sets the line number -// of newly allocated nodes to lineno. -func treecopy(n *Node, lineno int32) *Node { +// value of iota_. If pos.IsKnown(), it sets the source +// position of newly allocated nodes to pos. +func treecopy(n *Node, pos src.XPos) *Node { if n == nil { return nil } @@ -484,11 +464,11 @@ func treecopy(n *Node, lineno int32) *Node { default: m := *n m.Orig = &m - m.Left = treecopy(n.Left, lineno) - m.Right = treecopy(n.Right, lineno) - m.List.Set(listtreecopy(n.List.Slice(), lineno)) - if lineno != 0 { - m.Lineno = lineno + m.Left = treecopy(n.Left, pos) + m.Right = treecopy(n.Right, pos) + m.List.Set(listtreecopy(n.List.Slice(), pos)) + if pos.IsKnown() { + m.Pos = pos } if m.Name != nil && n.Op != ODCLFIELD { Dump("treecopy", n) @@ -503,8 +483,8 @@ func treecopy(n *Node, lineno int32) *Node { // so that all the copies of this const definition // don't have the same iota value. m := *n - if lineno != 0 { - m.Lineno = lineno + if pos.IsKnown() { + m.Pos = pos } m.SetIota(iota_) return &m @@ -1706,21 +1686,12 @@ func structargs(tl *Type, mustname bool) []*Node { // method - M func (t T)(), a TFIELD type struct // newnam - the eventual mangled name of this function -var genwrapper_linehistdone int = 0 - func genwrapper(rcvr *Type, method *Field, newnam *Sym, iface int) { if false && Debug['r'] != 0 { fmt.Printf("genwrapper rcvrtype=%v method=%v newnam=%v\n", rcvr, method, newnam) } - lexlineno++ - lineno = lexlineno - if genwrapper_linehistdone == 0 { - // All the wrappers can share the same linehist entry. - linehistpush("<autogenerated>") - - genwrapper_linehistdone = 1 - } + lineno = MakePos(src.NewFileBase("<autogenerated>", "<autogenerated>"), 1, 0) dclcontext = PEXTERN markdcl() @@ -1993,10 +1964,10 @@ func Simsimtype(t *Type) EType { return et } -func listtreecopy(l []*Node, lineno int32) []*Node { +func listtreecopy(l []*Node, pos src.XPos) []*Node { var out []*Node for _, n := range l { - out = append(out, treecopy(n, lineno)) + out = append(out, treecopy(n, pos)) } return out } @@ -2005,7 +1976,7 @@ func liststmt(l []*Node) *Node { n := nod(OBLOCK, nil, nil) n.List.Set(l) if len(l) != 0 { - n.Lineno = l[0].Lineno + n.Pos = l[0].Pos } return n } diff --git a/src/cmd/compile/internal/gc/swt.go b/src/cmd/compile/internal/gc/swt.go index 3d3496d643..5c96361f98 100644 --- a/src/cmd/compile/internal/gc/swt.go +++ b/src/cmd/compile/internal/gc/swt.go @@ -578,7 +578,7 @@ Outer: } for _, n := range prev { if eqtype(n.Left.Type, c.node.Left.Type) { - yyerrorl(c.node.Lineno, "duplicate case %v in type switch\n\tprevious case at %v", c.node.Left.Type, n.Line()) + yyerrorl(c.node.Pos, "duplicate case %v in type switch\n\tprevious case at %v", c.node.Left.Type, n.Line()) // avoid double-reporting errors continue Outer } diff --git a/src/cmd/compile/internal/gc/syntax.go b/src/cmd/compile/internal/gc/syntax.go index 0bd877e26a..923055c962 100644 --- a/src/cmd/compile/internal/gc/syntax.go +++ b/src/cmd/compile/internal/gc/syntax.go @@ -6,6 +6,11 @@ package gc +import ( + "cmd/compile/internal/syntax" + "cmd/internal/src" +) + // A Node is a single node in the syntax tree. // Actually the syntax tree is a syntax DAG, because there is only one // node with Op=ONAME for a given instance of a variable x. @@ -42,7 +47,7 @@ type Node struct { // Possibly still more uses. If you find any, document them. Xoffset int64 - Lineno int32 + Pos src.XPos Esc uint16 // EscXXX @@ -283,7 +288,7 @@ type Param struct { // OTYPE // // TODO: Should Func pragmas also be stored on the Name? - Pragma Pragma + Pragma syntax.Pragma Alias bool // node is alias for Ntype (only used when type-checking ODCLTYPE) } @@ -309,14 +314,14 @@ type Func struct { Label int32 // largest auto-generated label in this function - Endlineno int32 - WBLineno int32 // line number of first write barrier + Endlineno src.XPos + WBPos src.XPos // position of first write barrier - Pragma Pragma // go:xxx function annotations - Dupok bool // duplicate definitions ok - Wrapper bool // is method wrapper - Needctxt bool // function uses context register (has closure variables) - ReflectMethod bool // function calls reflect.Type.Method or MethodByName + Pragma syntax.Pragma // go:xxx function annotations + Dupok bool // duplicate definitions ok + Wrapper bool // is method wrapper + Needctxt bool // function uses context register (has closure variables) + ReflectMethod bool // function calls reflect.Type.Method or MethodByName IsHiddenClosure bool NoFramePointer bool // Must not use a frame pointer for this function } diff --git a/src/cmd/compile/internal/gc/type.go b/src/cmd/compile/internal/gc/type.go index 5f04f680c7..249cd3e3b9 100644 --- a/src/cmd/compile/internal/gc/type.go +++ b/src/cmd/compile/internal/gc/type.go @@ -11,6 +11,7 @@ package gc import ( "cmd/compile/internal/ssa" + "cmd/internal/src" "fmt" ) @@ -149,9 +150,9 @@ type Type struct { sliceOf *Type ptrTo *Type - Sym *Sym // symbol containing name, for named types - Vargen int32 // unique name for OTYPE/ONAME - Lineno int32 // line at which this type was declared, implicitly or explicitly + Sym *Sym // symbol containing name, for named types + Vargen int32 // unique name for OTYPE/ONAME + Pos src.XPos // position at which this type was declared, implicitly or explicitly Etype EType // kind of type Noalg bool // suppress hash and eq algorithm generation @@ -181,8 +182,8 @@ func (t *Type) MapType() *MapType { // ForwardType contains Type fields specific to forward types. type ForwardType struct { - Copyto []*Node // where to copy the eventual value to - Embedlineno int32 // first use of this type as an embedded type + Copyto []*Node // where to copy the eventual value to + Embedlineno src.XPos // first use of this type as an embedded type } // ForwardType returns t's extra forward-type-specific fields. @@ -375,9 +376,9 @@ func (f *Fields) Append(s ...*Field) { // typ returns a new Type of the specified kind. func typ(et EType) *Type { t := &Type{ - Etype: et, - Width: BADWIDTH, - Lineno: lineno, + Etype: et, + Width: BADWIDTH, + Pos: lineno, } t.Orig = t // TODO(josharian): lazily initialize some of these? diff --git a/src/cmd/compile/internal/gc/typecheck.go b/src/cmd/compile/internal/gc/typecheck.go index 1379bb56d4..1467189458 100644 --- a/src/cmd/compile/internal/gc/typecheck.go +++ b/src/cmd/compile/internal/gc/typecheck.go @@ -6,6 +6,7 @@ package gc import ( "cmd/internal/obj" + "cmd/internal/src" "fmt" "math" "strings" @@ -163,7 +164,7 @@ func typecheck(n *Node, top int) *Node { if top&Etype == Etype { var trace string sprint_depchain(&trace, typecheck_tcstack, n, n) - yyerrorl(n.Lineno, "invalid recursive type alias %v%s", n, trace) + yyerrorl(n.Pos, "invalid recursive type alias %v%s", n, trace) } case OLITERAL: @@ -173,7 +174,7 @@ func typecheck(n *Node, top int) *Node { } var trace string sprint_depchain(&trace, typecheck_tcstack, n, n) - yyerrorl(n.Lineno, "constant definition loop%s", trace) + yyerrorl(n.Pos, "constant definition loop%s", trace) } if nsavederrors+nerrors == 0 { @@ -421,7 +422,7 @@ OpSwitch: if alg == ANOEQ { if bad.Etype == TFORW { // queue check for map until all the types are done settling. - mapqueue = append(mapqueue, mapqueueval{l, n.Lineno}) + mapqueue = append(mapqueue, mapqueueval{l, n.Pos}) } else if bad.Etype != TANY { // no need to queue, key is already bad yyerror("invalid map key type %v", l.Type) @@ -3513,7 +3514,7 @@ func domethod(n *Node) { type mapqueueval struct { n *Node - lno int32 + lno src.XPos } // tracks the line numbers at which forward types are first used as map keys @@ -3561,7 +3562,7 @@ func copytype(n *Node, t *Type) { // Double-check use of type as embedded type. lno := lineno - if embedlineno != 0 { + if embedlineno.IsKnown() { lineno = embedlineno if t.IsPtr() || t.IsUnsafePtr() { yyerror("embedded type cannot be a pointer") @@ -3640,8 +3641,8 @@ func typecheckdef(n *Node) *Node { if n.Op == ONONAME { if !n.Diag { n.Diag = true - if n.Lineno != 0 { - lineno = n.Lineno + if n.Pos.IsKnown() { + lineno = n.Pos } // Note: adderrorname looks for this string and @@ -3695,7 +3696,7 @@ func typecheckdef(n *Node) *Node { e := n.Name.Defn n.Name.Defn = nil if e == nil { - lineno = n.Lineno + lineno = n.Pos Dump("typecheckdef nil defn", n) yyerror("xxx") } diff --git a/src/cmd/compile/internal/gc/util.go b/src/cmd/compile/internal/gc/util.go index c62bd00808..790a1ae255 100644 --- a/src/cmd/compile/internal/gc/util.go +++ b/src/cmd/compile/internal/gc/util.go @@ -11,7 +11,7 @@ import ( ) func (n *Node) Line() string { - return Ctxt.LineHist.LineString(int(n.Lineno)) + return linestr(n.Pos) } var atExitFuncs []func() diff --git a/src/cmd/compile/internal/gc/walk.go b/src/cmd/compile/internal/gc/walk.go index 7c2e2ab442..87084bc82a 100644 --- a/src/cmd/compile/internal/gc/walk.go +++ b/src/cmd/compile/internal/gc/walk.go @@ -49,11 +49,11 @@ func walk(fn *Node) { if defn.Left.Used { continue } - lineno = defn.Left.Lineno + lineno = defn.Left.Pos yyerror("%v declared and not used", ln.Sym) defn.Left.Used = true // suppress repeats } else { - lineno = ln.Lineno + lineno = ln.Pos yyerror("%v declared and not used", ln.Sym) } } @@ -2137,7 +2137,7 @@ func needwritebarrier(l *Node, r *Node) bool { func applywritebarrier(n *Node) *Node { if n.Left != nil && n.Right != nil && needwritebarrier(n.Left, n.Right) { if Debug_wb > 1 { - Warnl(n.Lineno, "marking %v for barrier", n.Left) + Warnl(n.Pos, "marking %v for barrier", n.Left) } n.Op = OASWB return n @@ -2592,7 +2592,7 @@ func returnsfromheap(params *Type) []*Node { // Enter and Exit lists. func heapmoves() { lno := lineno - lineno = Curfn.Lineno + lineno = Curfn.Pos nn := paramstoheap(Curfn.Type.Recvs()) nn = append(nn, paramstoheap(Curfn.Type.Params())...) nn = append(nn, paramstoheap(Curfn.Type.Results())...) @@ -3418,7 +3418,7 @@ func walkinrange(n *Node, init *Nodes) *Node { opr = brcom(opr) } cmp := nod(opr, lhs, rhs) - cmp.Lineno = n.Lineno + cmp.Pos = n.Pos cmp = addinit(cmp, l.Ninit.Slice()) cmp = addinit(cmp, r.Ninit.Slice()) // Typecheck the AST rooted at cmp... diff --git a/src/cmd/compile/internal/mips/ssa.go b/src/cmd/compile/internal/mips/ssa.go index aef1f90969..d116878619 100644 --- a/src/cmd/compile/internal/mips/ssa.go +++ b/src/cmd/compile/internal/mips/ssa.go @@ -74,7 +74,7 @@ func storeByType(t ssa.Type, r int16) obj.As { } func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { - s.SetLineno(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 > 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.SetLineno(b.Line) + s.SetPos(b.Pos) switch b.Kind { case ssa.BlockPlain: diff --git a/src/cmd/compile/internal/mips64/ssa.go b/src/cmd/compile/internal/mips64/ssa.go index 1432c6ceea..0d7b72430b 100644 --- a/src/cmd/compile/internal/mips64/ssa.go +++ b/src/cmd/compile/internal/mips64/ssa.go @@ -82,7 +82,7 @@ func storeByType(t ssa.Type, r int16) obj.As { } func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { - s.SetLineno(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 > 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.SetLineno(b.Line) + s.SetPos(b.Pos) switch b.Kind { case ssa.BlockPlain: diff --git a/src/cmd/compile/internal/ppc64/ssa.go b/src/cmd/compile/internal/ppc64/ssa.go index 8387692f86..2219782c72 100644 --- a/src/cmd/compile/internal/ppc64/ssa.go +++ b/src/cmd/compile/internal/ppc64/ssa.go @@ -143,7 +143,7 @@ func ssaGenISEL(v *ssa.Value, cr int64, r1, r2 int16) { } func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { - s.SetLineno(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 > 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.SetLineno(b.Line) + s.SetPos(b.Pos) switch b.Kind { diff --git a/src/cmd/compile/internal/s390x/ssa.go b/src/cmd/compile/internal/s390x/ssa.go index e2d3c2849b..1adf399c34 100644 --- a/src/cmd/compile/internal/s390x/ssa.go +++ b/src/cmd/compile/internal/s390x/ssa.go @@ -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.SetLineno(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 > 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.SetLineno(b.Line) + s.SetPos(b.Pos) switch b.Kind { case ssa.BlockPlain: diff --git a/src/cmd/compile/internal/ssa/block.go b/src/cmd/compile/internal/ssa/block.go index e1c2f6d2ce..c8e04237b9 100644 --- a/src/cmd/compile/internal/ssa/block.go +++ b/src/cmd/compile/internal/ssa/block.go @@ -4,7 +4,10 @@ package ssa -import "fmt" +import ( + "cmd/internal/src" + "fmt" +) // Block represents a basic block in the control flow graph of a function. type Block struct { @@ -12,8 +15,8 @@ type Block struct { // these IDs densely, but no guarantees. ID ID - // Line number for block's control operation - Line int32 + // Source position for block's control operation + Pos src.XPos // The kind of block this is. Kind BlockKind diff --git a/src/cmd/compile/internal/ssa/checkbce.go b/src/cmd/compile/internal/ssa/checkbce.go index 3b15d5a125..c26ace4c32 100644 --- a/src/cmd/compile/internal/ssa/checkbce.go +++ b/src/cmd/compile/internal/ssa/checkbce.go @@ -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) } } } diff --git a/src/cmd/compile/internal/ssa/compile.go b/src/cmd/compile/internal/ssa/compile.go index 5b461bac48..975845f258 100644 --- a/src/cmd/compile/internal/ssa/compile.go +++ b/src/cmd/compile/internal/ssa/compile.go @@ -6,6 +6,7 @@ package ssa import ( "cmd/internal/obj" + "cmd/internal/src" "fmt" "log" "os" @@ -129,7 +130,7 @@ func (f *Func) dumpFile(phaseName string) { fi, err := os.Create(fname) if err != nil { - f.Config.Warnl(0, "Unable to create after-phase dump file %s", fname) + f.Config.Warnl(src.NoXPos, "Unable to create after-phase dump file %s", fname) return } diff --git a/src/cmd/compile/internal/ssa/config.go b/src/cmd/compile/internal/ssa/config.go index 4931da8d07..1cf05ef1cd 100644 --- a/src/cmd/compile/internal/ssa/config.go +++ b/src/cmd/compile/internal/ssa/config.go @@ -6,6 +6,7 @@ package ssa import ( "cmd/internal/obj" + "cmd/internal/src" "crypto/sha1" "fmt" "os" @@ -88,10 +89,10 @@ type Logger interface { Log() bool // Fatal reports a compiler error and exits. - Fatalf(line int32, msg string, args ...interface{}) + Fatalf(pos src.XPos, msg string, args ...interface{}) // Warnl writes compiler messages in the form expected by "errorcheck" tests - Warnl(line int32, fmt_ string, args ...interface{}) + Warnl(pos src.XPos, fmt_ string, args ...interface{}) // Forwards the Debug flags from gc Debug_checknil() bool @@ -119,8 +120,8 @@ type Frontend interface { SplitArray(LocalSlot) LocalSlot // array must be length 1 SplitInt64(LocalSlot) (LocalSlot, LocalSlot) // returns (hi, lo) - // Line returns a string describing the given line number. - Line(int32) string + // Line returns a string describing the given position. + Line(src.XPos) string // AllocFrame assigns frame offsets to all live auto variables. AllocFrame(f *Func) @@ -269,7 +270,7 @@ func NewConfig(arch string, fe Frontend, ctxt *obj.Link, optimize bool) *Config c.hasGReg = true c.noDuffDevice = true default: - fe.Fatalf(0, "arch %s not implemented", arch) + fe.Fatalf(src.NoXPos, "arch %s not implemented", arch) } c.ctxt = ctxt c.optimize = optimize @@ -309,7 +310,7 @@ func NewConfig(arch string, fe Frontend, ctxt *obj.Link, optimize bool) *Config if ev != "" { v, err := strconv.ParseInt(ev, 10, 64) if err != nil { - fe.Fatalf(0, "Environment variable GO_SSA_PHI_LOC_CUTOFF (value '%s') did not parse as a number", ev) + fe.Fatalf(src.NoXPos, "Environment variable GO_SSA_PHI_LOC_CUTOFF (value '%s') did not parse as a number", ev) } c.sparsePhiCutoff = uint64(v) // convert -1 to maxint, for never use sparse } @@ -331,19 +332,19 @@ func (c *Config) Ctxt() *obj.Link { return c.ctxt } func (c *Config) NewFunc() *Func { // TODO(khr): should this function take name, type, etc. as arguments? if c.curFunc != nil { - c.Fatalf(0, "NewFunc called without previous Free") + c.Fatalf(src.NoXPos, "NewFunc called without previous Free") } f := &Func{Config: c, NamedValues: map[LocalSlot][]*Value{}} c.curFunc = f return f } -func (c *Config) Logf(msg string, args ...interface{}) { c.fe.Logf(msg, args...) } -func (c *Config) Log() bool { return c.fe.Log() } -func (c *Config) Fatalf(line int32, msg string, args ...interface{}) { c.fe.Fatalf(line, msg, args...) } -func (c *Config) Warnl(line int32, msg string, args ...interface{}) { c.fe.Warnl(line, msg, args...) } -func (c *Config) Debug_checknil() bool { return c.fe.Debug_checknil() } -func (c *Config) Debug_wb() bool { return c.fe.Debug_wb() } +func (c *Config) Logf(msg string, args ...interface{}) { c.fe.Logf(msg, args...) } +func (c *Config) Log() bool { return c.fe.Log() } +func (c *Config) Fatalf(pos src.XPos, msg string, args ...interface{}) { c.fe.Fatalf(pos, msg, args...) } +func (c *Config) Warnl(pos src.XPos, msg string, args ...interface{}) { c.fe.Warnl(pos, msg, args...) } +func (c *Config) Debug_checknil() bool { return c.fe.Debug_checknil() } +func (c *Config) Debug_wb() bool { return c.fe.Debug_wb() } func (c *Config) logDebugHashMatch(evname, name string) { file := c.logfiles[evname] @@ -354,7 +355,7 @@ func (c *Config) logDebugHashMatch(evname, name string) { var ok error file, ok = os.Create(tmpfile) if ok != nil { - c.Fatalf(0, "Could not open hash-testing logfile %s", tmpfile) + c.Fatalf(src.NoXPos, "Could not open hash-testing logfile %s", tmpfile) } } c.logfiles[evname] = file diff --git a/src/cmd/compile/internal/ssa/critical.go b/src/cmd/compile/internal/ssa/critical.go index 38cd3cbb29..72aa976327 100644 --- a/src/cmd/compile/internal/ssa/critical.go +++ b/src/cmd/compile/internal/ssa/critical.go @@ -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") } } diff --git a/src/cmd/compile/internal/ssa/deadstore.go b/src/cmd/compile/internal/ssa/deadstore.go index 89ab17a427..774fb51fc2 100644 --- a/src/cmd/compile/internal/ssa/deadstore.go +++ b/src/cmd/compile/internal/ssa/deadstore.go @@ -4,6 +4,8 @@ package ssa +import "cmd/internal/src" + // dse does dead-store elimination on the Function. // Dead stores are those which are unconditionally followed by // another store to the same location, with no intervening load. @@ -111,7 +113,7 @@ func dse(f *Func) { if sz > 0x7fffffff { // work around sparseMap's int32 value type sz = 0x7fffffff } - shadowed.set(v.Args[0].ID, int32(sz), 0) + shadowed.set(v.Args[0].ID, int32(sz), src.NoXPos) } } // walk to previous store diff --git a/src/cmd/compile/internal/ssa/decompose.go b/src/cmd/compile/internal/ssa/decompose.go index b2ee2f0a2b..6f9093bbb5 100644 --- a/src/cmd/compile/internal/ssa/decompose.go +++ b/src/cmd/compile/internal/ssa/decompose.go @@ -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) diff --git a/src/cmd/compile/internal/ssa/export_test.go b/src/cmd/compile/internal/ssa/export_test.go index 3a9357dfae..11b7658f78 100644 --- a/src/cmd/compile/internal/ssa/export_test.go +++ b/src/cmd/compile/internal/ssa/export_test.go @@ -7,6 +7,7 @@ package ssa import ( "cmd/internal/obj" "cmd/internal/obj/x86" + "cmd/internal/src" "testing" ) @@ -62,7 +63,7 @@ func (d DummyFrontend) SplitStruct(s LocalSlot, i int) LocalSlot { func (d DummyFrontend) SplitArray(s LocalSlot) LocalSlot { return LocalSlot{s.N, s.Type.ElemType(), s.Off} } -func (DummyFrontend) Line(line int32) string { +func (DummyFrontend) Line(_ src.XPos) string { return "unknown.go:0" } func (DummyFrontend) AllocFrame(f *Func) { @@ -74,8 +75,8 @@ func (DummyFrontend) Syslook(s string) interface{} { func (d DummyFrontend) Logf(msg string, args ...interface{}) { d.t.Logf(msg, args...) } func (d DummyFrontend) Log() bool { return true } -func (d DummyFrontend) Fatalf(line int32, msg string, args ...interface{}) { d.t.Fatalf(msg, args...) } -func (d DummyFrontend) Warnl(line int32, msg string, args ...interface{}) { d.t.Logf(msg, args...) } +func (d DummyFrontend) Fatalf(_ src.XPos, msg string, args ...interface{}) { d.t.Fatalf(msg, args...) } +func (d DummyFrontend) Warnl(_ src.XPos, msg string, args ...interface{}) { d.t.Logf(msg, args...) } func (d DummyFrontend) Debug_checknil() bool { return false } func (d DummyFrontend) Debug_wb() bool { return false } diff --git a/src/cmd/compile/internal/ssa/func.go b/src/cmd/compile/internal/ssa/func.go index df29aa3606..e931f2285b 100644 --- a/src/cmd/compile/internal/ssa/func.go +++ b/src/cmd/compile/internal/ssa/func.go @@ -5,6 +5,7 @@ package ssa import ( + "cmd/internal/src" "fmt" "math" "strings" @@ -80,7 +81,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 int32) *Value { +func (f *Func) newValue(op Op, t Type, b *Block, pos src.XPos) *Value { var v *Value if f.freeValues != nil { v = f.freeValues @@ -97,7 +98,7 @@ func (f *Func) newValue(op Op, t Type, b *Block, line int32) *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 +118,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. @@ -187,30 +188,30 @@ func (f *Func) freeBlock(b *Block) { } // NewValue0 returns a new value in the block with no arguments and zero aux values. -func (b *Block) NewValue0(line int32, op Op, t Type) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue0(pos src.XPos, op Op, t Type) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = 0 v.Args = v.argstorage[:0] return v } // NewValue returns a new value in the block with no arguments and an auxint value. -func (b *Block) NewValue0I(line int32, op Op, t Type, auxint int64) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue0I(pos src.XPos, op Op, t Type, auxint int64) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = auxint v.Args = v.argstorage[:0] return v } // NewValue returns a new value in the block with no arguments and an aux value. -func (b *Block) NewValue0A(line int32, op Op, t Type, aux interface{}) *Value { +func (b *Block) NewValue0A(pos src.XPos, op Op, t Type, aux interface{}) *Value { if _, ok := aux.(int64); ok { // Disallow int64 aux values. They should be in the auxint field instead. // Maybe we want to allow this at some point, but for now we disallow it // to prevent errors like using NewValue1A instead of NewValue1I. b.Fatalf("aux field has int64 type op=%s type=%s aux=%v", op, t, aux) } - v := b.Func.newValue(op, t, b, line) + v := b.Func.newValue(op, t, b, pos) v.AuxInt = 0 v.Aux = aux v.Args = v.argstorage[:0] @@ -218,8 +219,8 @@ func (b *Block) NewValue0A(line int32, op Op, t Type, aux interface{}) *Value { } // NewValue returns a new value in the block with no arguments and both an auxint and aux values. -func (b *Block) NewValue0IA(line int32, op Op, t Type, auxint int64, aux interface{}) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue0IA(pos src.XPos, op Op, t Type, auxint int64, aux interface{}) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = auxint v.Aux = aux v.Args = v.argstorage[:0] @@ -227,8 +228,8 @@ func (b *Block) NewValue0IA(line int32, op Op, t Type, auxint int64, aux interfa } // NewValue1 returns a new value in the block with one argument and zero aux values. -func (b *Block) NewValue1(line int32, op Op, t Type, arg *Value) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue1(pos src.XPos, op Op, t Type, arg *Value) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = 0 v.Args = v.argstorage[:1] v.argstorage[0] = arg @@ -237,8 +238,8 @@ func (b *Block) NewValue1(line int32, op Op, t Type, arg *Value) *Value { } // NewValue1I returns a new value in the block with one argument and an auxint value. -func (b *Block) NewValue1I(line int32, op Op, t Type, auxint int64, arg *Value) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue1I(pos src.XPos, op Op, t Type, auxint int64, arg *Value) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = auxint v.Args = v.argstorage[:1] v.argstorage[0] = arg @@ -247,8 +248,8 @@ func (b *Block) NewValue1I(line int32, op Op, t Type, auxint int64, arg *Value) } // NewValue1A returns a new value in the block with one argument and an aux value. -func (b *Block) NewValue1A(line int32, op Op, t Type, aux interface{}, arg *Value) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue1A(pos src.XPos, op Op, t Type, aux interface{}, arg *Value) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = 0 v.Aux = aux v.Args = v.argstorage[:1] @@ -258,8 +259,8 @@ func (b *Block) NewValue1A(line int32, op Op, t Type, aux interface{}, arg *Valu } // NewValue1IA returns a new value in the block with one argument and both an auxint and aux values. -func (b *Block) NewValue1IA(line int32, op Op, t Type, auxint int64, aux interface{}, arg *Value) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue1IA(pos src.XPos, op Op, t Type, auxint int64, aux interface{}, arg *Value) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = auxint v.Aux = aux v.Args = v.argstorage[:1] @@ -269,8 +270,8 @@ func (b *Block) NewValue1IA(line int32, op Op, t Type, auxint int64, aux interfa } // NewValue2 returns a new value in the block with two arguments and zero aux values. -func (b *Block) NewValue2(line int32, op Op, t Type, arg0, arg1 *Value) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue2(pos src.XPos, op Op, t Type, arg0, arg1 *Value) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = 0 v.Args = v.argstorage[:2] v.argstorage[0] = arg0 @@ -281,8 +282,8 @@ func (b *Block) NewValue2(line int32, op Op, t Type, arg0, arg1 *Value) *Value { } // NewValue2I returns a new value in the block with two arguments and an auxint value. -func (b *Block) NewValue2I(line int32, op Op, t Type, auxint int64, arg0, arg1 *Value) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue2I(pos src.XPos, op Op, t Type, auxint int64, arg0, arg1 *Value) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = auxint v.Args = v.argstorage[:2] v.argstorage[0] = arg0 @@ -293,8 +294,8 @@ func (b *Block) NewValue2I(line int32, op Op, t Type, auxint int64, arg0, arg1 * } // NewValue3 returns a new value in the block with three arguments and zero aux values. -func (b *Block) NewValue3(line int32, op Op, t Type, arg0, arg1, arg2 *Value) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue3(pos src.XPos, op Op, t Type, arg0, arg1, arg2 *Value) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = 0 v.Args = v.argstorage[:3] v.argstorage[0] = arg0 @@ -307,8 +308,8 @@ func (b *Block) NewValue3(line int32, op Op, t Type, arg0, arg1, arg2 *Value) *V } // NewValue3I returns a new value in the block with three arguments and an auxint value. -func (b *Block) NewValue3I(line int32, op Op, t Type, auxint int64, arg0, arg1, arg2 *Value) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue3I(pos src.XPos, op Op, t Type, auxint int64, arg0, arg1, arg2 *Value) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = auxint v.Args = v.argstorage[:3] v.argstorage[0] = arg0 @@ -321,8 +322,8 @@ func (b *Block) NewValue3I(line int32, op Op, t Type, auxint int64, arg0, arg1, } // NewValue4 returns a new value in the block with four arguments and zero aux values. -func (b *Block) NewValue4(line int32, op Op, t Type, arg0, arg1, arg2, arg3 *Value) *Value { - v := b.Func.newValue(op, t, b, line) +func (b *Block) NewValue4(pos src.XPos, op Op, t Type, arg0, arg1, arg2, arg3 *Value) *Value { + v := b.Func.newValue(op, t, b, pos) v.AuxInt = 0 v.Args = []*Value{arg0, arg1, arg2, arg3} arg0.Uses++ @@ -333,7 +334,7 @@ func (b *Block) NewValue4(line int32, op Op, t Type, arg0, arg1, arg2, arg3 *Val } // constVal returns a constant value for c. -func (f *Func) constVal(line int32, op Op, t Type, c int64, setAux bool) *Value { +func (f *Func) constVal(pos src.XPos, op Op, t Type, c int64, setAux bool) *Value { if f.constants == nil { f.constants = make(map[int64][]*Value) } @@ -348,9 +349,9 @@ func (f *Func) constVal(line int32, op Op, t Type, c int64, setAux bool) *Value } var v *Value if setAux { - v = f.Entry.NewValue0I(line, op, t, c) + v = f.Entry.NewValue0I(pos, op, t, c) } else { - v = f.Entry.NewValue0(line, op, t) + v = f.Entry.NewValue0(pos, op, t) } f.constants[c] = append(vv, v) return v @@ -368,50 +369,50 @@ const ( ) // ConstInt returns an int constant representing its argument. -func (f *Func) ConstBool(line int32, t Type, c bool) *Value { +func (f *Func) ConstBool(pos src.XPos, t Type, c bool) *Value { i := int64(0) if c { i = 1 } - return f.constVal(line, OpConstBool, t, i, true) + return f.constVal(pos, OpConstBool, t, i, true) } -func (f *Func) ConstInt8(line int32, t Type, c int8) *Value { - return f.constVal(line, OpConst8, t, int64(c), true) +func (f *Func) ConstInt8(pos src.XPos, t Type, c int8) *Value { + return f.constVal(pos, OpConst8, t, int64(c), true) } -func (f *Func) ConstInt16(line int32, t Type, c int16) *Value { - return f.constVal(line, OpConst16, t, int64(c), true) +func (f *Func) ConstInt16(pos src.XPos, t Type, c int16) *Value { + return f.constVal(pos, OpConst16, t, int64(c), true) } -func (f *Func) ConstInt32(line int32, t Type, c int32) *Value { - return f.constVal(line, OpConst32, t, int64(c), true) +func (f *Func) ConstInt32(pos src.XPos, t Type, c int32) *Value { + return f.constVal(pos, OpConst32, t, int64(c), true) } -func (f *Func) ConstInt64(line int32, t Type, c int64) *Value { - return f.constVal(line, OpConst64, t, c, true) +func (f *Func) ConstInt64(pos src.XPos, t Type, c int64) *Value { + return f.constVal(pos, OpConst64, t, c, true) } -func (f *Func) ConstFloat32(line int32, t Type, c float64) *Value { - return f.constVal(line, OpConst32F, t, int64(math.Float64bits(float64(float32(c)))), true) +func (f *Func) ConstFloat32(pos src.XPos, t Type, c float64) *Value { + return f.constVal(pos, OpConst32F, t, int64(math.Float64bits(float64(float32(c)))), true) } -func (f *Func) ConstFloat64(line int32, t Type, c float64) *Value { - return f.constVal(line, OpConst64F, t, int64(math.Float64bits(c)), true) +func (f *Func) ConstFloat64(pos src.XPos, t Type, c float64) *Value { + return f.constVal(pos, OpConst64F, t, int64(math.Float64bits(c)), true) } -func (f *Func) ConstSlice(line int32, t Type) *Value { - return f.constVal(line, OpConstSlice, t, constSliceMagic, false) +func (f *Func) ConstSlice(pos src.XPos, t Type) *Value { + return f.constVal(pos, OpConstSlice, t, constSliceMagic, false) } -func (f *Func) ConstInterface(line int32, t Type) *Value { - return f.constVal(line, OpConstInterface, t, constInterfaceMagic, false) +func (f *Func) ConstInterface(pos src.XPos, t Type) *Value { + return f.constVal(pos, OpConstInterface, t, constInterfaceMagic, false) } -func (f *Func) ConstNil(line int32, t Type) *Value { - return f.constVal(line, OpConstNil, t, constNilMagic, false) +func (f *Func) ConstNil(pos src.XPos, t Type) *Value { + return f.constVal(pos, OpConstNil, t, constNilMagic, false) } -func (f *Func) ConstEmptyString(line int32, t Type) *Value { - v := f.constVal(line, OpConstString, t, constEmptyStringMagic, false) +func (f *Func) ConstEmptyString(pos src.XPos, t Type) *Value { + v := f.constVal(pos, OpConstString, t, constEmptyStringMagic, false) v.Aux = "" return v } 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. diff --git a/src/cmd/compile/internal/ssa/func_test.go b/src/cmd/compile/internal/ssa/func_test.go index 7136d8fb08..580f67717a 100644 --- a/src/cmd/compile/internal/ssa/func_test.go +++ b/src/cmd/compile/internal/ssa/func_test.go @@ -37,6 +37,7 @@ package ssa // the parser can be used instead of Fun. import ( + "cmd/internal/src" "fmt" "reflect" "testing" @@ -154,7 +155,7 @@ func Fun(c *Config, entry string, blocs ...bloc) fun { blocks[bloc.name] = b for _, valu := range bloc.valus { // args are filled in the second pass. - values[valu.name] = b.NewValue0IA(0, valu.op, valu.t, valu.auxint, valu.aux) + values[valu.name] = b.NewValue0IA(src.NoXPos, valu.op, valu.t, valu.auxint, valu.aux) } } // Connect the blocks together and specify control values. @@ -428,12 +429,12 @@ func TestConstCache(t *testing.T) { Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Exit("mem"))) - v1 := f.f.ConstBool(0, TypeBool, false) - v2 := f.f.ConstBool(0, TypeBool, true) + v1 := f.f.ConstBool(src.NoXPos, TypeBool, false) + v2 := f.f.ConstBool(src.NoXPos, TypeBool, true) f.f.freeValue(v1) f.f.freeValue(v2) - v3 := f.f.ConstBool(0, TypeBool, false) - v4 := f.f.ConstBool(0, TypeBool, true) + v3 := f.f.ConstBool(src.NoXPos, TypeBool, false) + v4 := f.f.ConstBool(src.NoXPos, TypeBool, true) if v3.AuxInt != 0 { t.Errorf("expected %s to have auxint of 0\n", v3.LongString()) } diff --git a/src/cmd/compile/internal/ssa/gen/generic.rules b/src/cmd/compile/internal/ssa/gen/generic.rules index 0137b109bd..2a5deaab1a 100644 --- a/src/cmd/compile/internal/ssa/gen/generic.rules +++ b/src/cmd/compile/internal/ssa/gen/generic.rules @@ -1009,11 +1009,11 @@ && 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) diff --git a/src/cmd/compile/internal/ssa/gen/rulegen.go b/src/cmd/compile/internal/ssa/gen/rulegen.go index f255f6ba3f..c027541eba 100644 --- a/src/cmd/compile/internal/ssa/gen/rulegen.go +++ b/src/cmd/compile/internal/ssa/gen/rulegen.go @@ -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") diff --git a/src/cmd/compile/internal/ssa/html.go b/src/cmd/compile/internal/ssa/html.go index 316fd2aa25..085094e3ad 100644 --- a/src/cmd/compile/internal/ssa/html.go +++ b/src/cmd/compile/internal/ssa/html.go @@ -6,6 +6,7 @@ package ssa import ( "bytes" + "cmd/internal/src" "fmt" "html" "io" @@ -20,7 +21,7 @@ type HTMLWriter struct { func NewHTMLWriter(path string, logger Logger, funcname string) *HTMLWriter { out, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) if err != nil { - logger.Fatalf(0, "%v", err) + logger.Fatalf(src.NoXPos, "%v", err) } html := HTMLWriter{File: out, Logger: logger} html.start(funcname) @@ -328,13 +329,13 @@ func (w *HTMLWriter) WriteColumn(title string, html string) { func (w *HTMLWriter) Printf(msg string, v ...interface{}) { if _, err := fmt.Fprintf(w.File, msg, v...); err != nil { - w.Fatalf(0, "%v", err) + w.Fatalf(src.NoXPos, "%v", err) } } func (w *HTMLWriter) WriteString(s string) { if _, err := w.File.WriteString(s); err != nil { - w.Fatalf(0, "%v", err) + w.Fatalf(src.NoXPos, "%v", err) } } diff --git a/src/cmd/compile/internal/ssa/likelyadjust.go b/src/cmd/compile/internal/ssa/likelyadjust.go index 38a5e81f91..5d3d258104 100644 --- a/src/cmd/compile/internal/ssa/likelyadjust.go +++ b/src/cmd/compile/internal/ssa/likelyadjust.go @@ -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]) } } diff --git a/src/cmd/compile/internal/ssa/loopbce.go b/src/cmd/compile/internal/ssa/loopbce.go index 14d8834d7d..0f356913ca 100644 --- a/src/cmd/compile/internal/ssa/loopbce.go +++ b/src/cmd/compile/internal/ssa/loopbce.go @@ -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 } diff --git a/src/cmd/compile/internal/ssa/loopreschedchecks.go b/src/cmd/compile/internal/ssa/loopreschedchecks.go index 8f8055e302..7e6f0d890b 100644 --- a/src/cmd/compile/internal/ssa/loopreschedchecks.go +++ b/src/cmd/compile/internal/ssa/loopreschedchecks.go @@ -91,7 +91,7 @@ func insertLoopReschedChecks(f *Func) { // It's possible that there is no memory state (no global/pointer loads/stores or calls) if lastMems[f.Entry.ID] == nil { - lastMems[f.Entry.ID] = f.Entry.NewValue0(f.Entry.Line, OpInitMem, TypeMem) + lastMems[f.Entry.ID] = f.Entry.NewValue0(f.Entry.Pos, OpInitMem, TypeMem) } memDefsAtBlockEnds := make([]*Value, f.NumBlocks()) // For each block, the mem def seen at its bottom. Could be from earlier block. @@ -109,7 +109,7 @@ func insertLoopReschedChecks(f *Func) { } // Set up counter. There are no phis etc pre-existing for it. - counter0 := f.Entry.NewValue0I(f.Entry.Line, OpConst32, f.Config.fe.TypeInt32(), initialRescheduleCounterValue) + counter0 := f.Entry.NewValue0I(f.Entry.Pos, OpConst32, f.Config.fe.TypeInt32(), initialRescheduleCounterValue) ctrDefsAtBlockEnds := make([]*Value, f.NumBlocks()) // For each block, def visible at its end, if that def will be used. // There's a minor difference between memDefsAtBlockEnds and ctrDefsAtBlockEnds; @@ -205,8 +205,8 @@ func insertLoopReschedChecks(f *Func) { } } - zero := f.Entry.NewValue0I(f.Entry.Line, OpConst32, f.Config.fe.TypeInt32(), 0) - one := f.Entry.NewValue0I(f.Entry.Line, OpConst32, f.Config.fe.TypeInt32(), 1) + zero := f.Entry.NewValue0I(f.Entry.Pos, OpConst32, f.Config.fe.TypeInt32(), 0) + one := f.Entry.NewValue0I(f.Entry.Pos, OpConst32, f.Config.fe.TypeInt32(), 1) // Rewrite backedges to include reschedule checks. for _, emc := range tofixBackedges { @@ -258,14 +258,14 @@ func insertLoopReschedChecks(f *Func) { test := f.NewBlock(BlockIf) sched := f.NewBlock(BlockPlain) - test.Line = bb.Line - sched.Line = bb.Line + test.Pos = bb.Pos + sched.Pos = bb.Pos // ctr1 := ctr0 - 1 // if ctr1 <= 0 { goto sched } // goto header - ctr1 := test.NewValue2(bb.Line, OpSub32, f.Config.fe.TypeInt32(), ctr0, one) - cmp := test.NewValue2(bb.Line, OpLeq32, f.Config.fe.TypeBool(), ctr1, zero) + ctr1 := test.NewValue2(bb.Pos, OpSub32, f.Config.fe.TypeInt32(), ctr0, one) + cmp := test.NewValue2(bb.Pos, OpLeq32, f.Config.fe.TypeBool(), ctr1, zero) test.SetControl(cmp) test.AddEdgeTo(sched) // if true // if false -- rewrite edge to header. @@ -282,7 +282,7 @@ func insertLoopReschedChecks(f *Func) { // mem1 := call resched (mem0) // goto header resched := f.Config.fe.Syslook("goschedguarded") - mem1 := sched.NewValue1A(bb.Line, OpStaticCall, TypeMem, resched, mem0) + mem1 := sched.NewValue1A(bb.Pos, OpStaticCall, TypeMem, resched, mem0) sched.AddEdgeTo(h) headerMemPhi.AddArg(mem1) headerCtrPhi.AddArg(counter0) @@ -313,7 +313,7 @@ func insertLoopReschedChecks(f *Func) { // newPhiFor inserts a new Phi function into b, // with all inputs set to v. func newPhiFor(b *Block, v *Value) *Value { - phiV := b.NewValue0(b.Line, OpPhi, v.Type) + phiV := b.NewValue0(b.Pos, OpPhi, v.Type) for range b.Preds { phiV.AddArg(v) diff --git a/src/cmd/compile/internal/ssa/nilcheck.go b/src/cmd/compile/internal/ssa/nilcheck.go index 0a34cd1ae6..ac30b705e4 100644 --- a/src/cmd/compile/internal/ssa/nilcheck.go +++ b/src/cmd/compile/internal/ssa/nilcheck.go @@ -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 > 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) // TODO: f.freeValue(v) @@ -161,8 +161,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() && int(v.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 diff --git a/src/cmd/compile/internal/ssa/phielim.go b/src/cmd/compile/internal/ssa/phielim.go index 5fccab9c06..0c85b6fb12 100644 --- a/src/cmd/compile/internal/ssa/phielim.go +++ b/src/cmd/compile/internal/ssa/phielim.go @@ -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 } diff --git a/src/cmd/compile/internal/ssa/phiopt.go b/src/cmd/compile/internal/ssa/phiopt.go index 3e9f195d81..d1b7cd53dd 100644 --- a/src/cmd/compile/internal/ssa/phiopt.go +++ b/src/cmd/compile/internal/ssa/phiopt.go @@ -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) } } diff --git a/src/cmd/compile/internal/ssa/print.go b/src/cmd/compile/internal/ssa/print.go index 21e293ca55..01b8083b95 100644 --- a/src/cmd/compile/internal/ssa/print.go +++ b/src/cmd/compile/internal/ssa/print.go @@ -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 { diff --git a/src/cmd/compile/internal/ssa/prove.go b/src/cmd/compile/internal/ssa/prove.go index 1925a61a52..541033e2de 100644 --- a/src/cmd/compile/internal/ssa/prove.go +++ b/src/cmd/compile/internal/ssa/prove.go @@ -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 diff --git a/src/cmd/compile/internal/ssa/regalloc.go b/src/cmd/compile/internal/ssa/regalloc.go index 7bf778609e..1f8092e4b9 100644 --- a/src/cmd/compile/internal/ssa/regalloc.go +++ b/src/cmd/compile/internal/ssa/regalloc.go @@ -107,6 +107,7 @@ package ssa import ( "cmd/internal/obj" + "cmd/internal/src" "fmt" "unsafe" ) @@ -180,9 +181,9 @@ func pickReg(r regMask) register { } type use struct { - dist int32 // distance from start of the block to a use of a value - line int32 // line number of the use - next *use // linked list of uses of a value in nondecreasing dist order + dist int32 // distance from start of the block to a use of a value + pos src.XPos // source position of the use + next *use // linked list of uses of a value in nondecreasing dist order } type valState struct { @@ -286,9 +287,9 @@ type endReg struct { } type startReg struct { - r register - vid ID // pre-regalloc value needed in this register - line int32 // line number of use of this register + r register + vid ID // pre-regalloc value needed in this register + pos src.XPos // source position of use of this register } // freeReg frees up register r. Any current user of r is kicked out. @@ -392,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()) @@ -410,7 +411,7 @@ func (s *regAllocState) allocReg(mask regMask, v *Value) register { // allocated register is marked nospill so the assignment cannot be // undone until the caller allows it by clearing nospill. Returns a // *Value which is either v or a copy of v allocated to the chosen register. -func (s *regAllocState) allocValToReg(v *Value, mask regMask, nospill bool, line int32) *Value { +func (s *regAllocState) allocValToReg(v *Value, mask regMask, nospill bool, pos src.XPos) *Value { vi := &s.values[v.ID] // Check if v is already in a requested register. @@ -436,7 +437,7 @@ func (s *regAllocState) allocValToReg(v *Value, mask regMask, nospill bool, line if s.regs[r2].v != v { panic("bad register state") } - c = s.curBlock.NewValue1(line, OpCopy, v.Type, s.regs[r2].c) + c = s.curBlock.NewValue1(pos, OpCopy, v.Type, s.regs[r2].c) } else if v.rematerializeable() { // Rematerialize instead of loading from the spill location. c = v.copyInto(s.curBlock) @@ -445,9 +446,9 @@ 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) + c = s.curBlock.NewValue1(pos, OpLoadReg, v.Type, vi.spill) vi.spillUsed = true default: s.f.Fatalf("attempt to load unspilled value %v", v.LongString()) @@ -554,7 +555,7 @@ func (s *regAllocState) init(f *Func) { case "s390x": // nothing to do, R10 & R11 already reserved default: - s.f.Config.fe.Fatalf(0, "arch %s not implemented", s.f.Config.arch) + s.f.Config.fe.Fatalf(src.NoXPos, "arch %s not implemented", s.f.Config.arch) } } if s.f.Config.nacl { @@ -617,7 +618,7 @@ func (s *regAllocState) init(f *Func) { // Adds a use record for id at distance dist from the start of the block. // All calls to addUse must happen with nonincreasing dist. -func (s *regAllocState) addUse(id ID, dist int32, line int32) { +func (s *regAllocState) addUse(id ID, dist int32, pos src.XPos) { r := s.freeUseRecords if r != nil { s.freeUseRecords = r.next @@ -625,7 +626,7 @@ func (s *regAllocState) addUse(id ID, dist int32, line int32) { r = &use{} } r.dist = dist - r.line = line + r.pos = pos r.next = s.values[id].uses s.values[id].uses = r if r.next != nil && dist > r.next.dist { @@ -755,11 +756,11 @@ func (s *regAllocState) regalloc(f *Func) { // Walk backwards through the block doing liveness analysis. liveSet.clear() for _, e := range s.live[b.ID] { - s.addUse(e.ID, int32(len(b.Values))+e.dist, e.line) // pseudo-uses from beyond end of block + s.addUse(e.ID, int32(len(b.Values))+e.dist, e.pos) // pseudo-uses from beyond end of block 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) // pseudo-use by control value + s.addUse(v.ID, int32(len(b.Values)), b.Pos) // pseudo-use by control value liveSet.add(v.ID) } for i := len(b.Values) - 1; i >= 0; i-- { @@ -775,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) } } @@ -901,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()) @@ -950,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 @@ -973,7 +974,7 @@ func (s *regAllocState) regalloc(f *Func) { // specially during merge edge processing. continue } - regList = append(regList, startReg{r, v.ID, s.values[v.ID].uses.line}) + regList = append(regList, startReg{r, v.ID, s.values[v.ID].uses.pos}) } s.startRegs[b.ID] = regList @@ -1183,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 @@ -1235,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 @@ -1246,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. @@ -1257,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 @@ -1269,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 } @@ -1383,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 @@ -1403,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++ @@ -1458,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) } } } @@ -1609,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 } @@ -1707,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++ @@ -1743,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 { @@ -1754,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) } } @@ -1878,17 +1879,17 @@ type edgeState struct { } type contentRecord struct { - vid ID // pre-regalloc value - c *Value // cached value - final bool // this is a satisfied destination - line int32 // line number of use of the value + vid ID // pre-regalloc value + c *Value // cached value + final bool // this is a satisfied destination + pos src.XPos // source position of use of the value } type dstRecord struct { loc Location // register or stack slot vid ID // pre-regalloc value it should contain splice **Value // place to store reference to the generating instruction - line int32 // line number of use of this location + pos src.XPos // source position of use of this location } // setup initializes the edge state for shuffling. @@ -1911,19 +1912,19 @@ func (e *edgeState) setup(idx int, srcReg []endReg, dstReg []startReg, stacklive // Live registers can be sources. for _, x := range srcReg { - e.set(&e.s.registers[x.r], x.v.ID, x.c, false, 0) // don't care the line number of the source + e.set(&e.s.registers[x.r], x.v.ID, x.c, false, src.NoXPos) // don't care the position of the source } // So can all of the spill locations. for _, spillID := range stacklive { v := e.s.orig[spillID] spill := e.s.values[v.ID].spill - e.set(e.s.f.getHome(spillID), v.ID, spill, false, 0) // don't care the line number of the source + e.set(e.s.f.getHome(spillID), v.ID, spill, false, src.NoXPos) // don't care the position of the source } // Figure out all the destinations we need. dsts := e.destinations[:0] for _, x := range dstReg { - dsts = append(dsts, dstRecord{&e.s.registers[x.r], x.vid, nil, x.line}) + dsts = append(dsts, dstRecord{&e.s.registers[x.r], x.vid, nil, x.pos}) } // Phis need their args to end up in a specific location. for _, v := range e.b.Values { @@ -1934,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 @@ -1959,7 +1960,7 @@ func (e *edgeState) process() { for len(dsts) > 0 { i := 0 for _, d := range dsts { - if !e.processDest(d.loc, d.vid, d.splice, d.line) { + if !e.processDest(d.loc, d.vid, d.splice, d.pos) { // Failed - save for next iteration. dsts[i] = d i++ @@ -2006,22 +2007,22 @@ func (e *edgeState) process() { fmt.Printf("breaking cycle with v%d in %s:%s\n", vid, loc.Name(), c) } if _, isReg := loc.(*Register); isReg { - c = e.p.NewValue1(d.line, OpCopy, c.Type, c) + c = e.p.NewValue1(d.pos, OpCopy, c.Type, c) } else { e.s.lateSpillUse(vid) - c = e.p.NewValue1(d.line, OpLoadReg, c.Type, c) + c = e.p.NewValue1(d.pos, OpLoadReg, c.Type, c) } - e.set(r, vid, c, false, d.line) + e.set(r, vid, c, false, d.pos) } } // processDest generates code to put value vid into location loc. Returns true // if progress was made. -func (e *edgeState) processDest(loc Location, vid ID, splice **Value, line int32) bool { +func (e *edgeState) processDest(loc Location, vid ID, splice **Value, pos src.XPos) bool { occupant := e.contents[loc] if occupant.vid == vid { // Value is already in the correct place. - e.contents[loc] = contentRecord{vid, occupant.c, true, line} + e.contents[loc] = contentRecord{vid, occupant.c, true, pos} if splice != nil { (*splice).Uses-- *splice = occupant.c @@ -2087,25 +2088,25 @@ func (e *edgeState) processDest(loc Location, vid ID, splice **Value, line int32 e.erase(loc) // see pre-clobber comment below r := e.findRegFor(v.Type) x = v.copyInto(e.p) - e.set(r, vid, x, false, line) + e.set(r, vid, x, false, pos) // Make sure we spill with the size of the slot, not the // size of x (which might be wider due to our dropping // of narrowing conversions). - x = e.p.NewValue1(line, OpStoreReg, loc.(LocalSlot).Type, x) + x = e.p.NewValue1(pos, OpStoreReg, loc.(LocalSlot).Type, x) } } else { // Emit move from src to dst. _, srcReg := src.(*Register) if srcReg { if dstReg { - x = e.p.NewValue1(line, OpCopy, c.Type, c) + x = e.p.NewValue1(pos, OpCopy, c.Type, c) } else { - x = e.p.NewValue1(line, OpStoreReg, loc.(LocalSlot).Type, c) + x = e.p.NewValue1(pos, OpStoreReg, loc.(LocalSlot).Type, c) } } else { if dstReg { e.s.lateSpillUse(vid) - x = e.p.NewValue1(line, OpLoadReg, c.Type, c) + x = e.p.NewValue1(pos, OpLoadReg, c.Type, c) } else { // mem->mem. Use temp register. @@ -2123,13 +2124,13 @@ func (e *edgeState) processDest(loc Location, vid ID, splice **Value, line int32 r := e.findRegFor(c.Type) e.s.lateSpillUse(vid) - t := e.p.NewValue1(line, OpLoadReg, c.Type, c) - e.set(r, vid, t, false, line) - x = e.p.NewValue1(line, OpStoreReg, loc.(LocalSlot).Type, t) + t := e.p.NewValue1(pos, OpLoadReg, c.Type, c) + e.set(r, vid, t, false, pos) + x = e.p.NewValue1(pos, OpStoreReg, loc.(LocalSlot).Type, t) } } } - e.set(loc, vid, x, true, line) + e.set(loc, vid, x, true, pos) if splice != nil { (*splice).Uses-- *splice = x @@ -2139,10 +2140,10 @@ func (e *edgeState) processDest(loc Location, vid ID, splice **Value, line int32 } // set changes the contents of location loc to hold the given value and its cached representative. -func (e *edgeState) set(loc Location, vid ID, c *Value, final bool, line int32) { +func (e *edgeState) set(loc Location, vid ID, c *Value, final bool, pos src.XPos) { e.s.f.setHome(c, loc) e.erase(loc) - e.contents[loc] = contentRecord{vid, c, final, line} + e.contents[loc] = contentRecord{vid, c, final, pos} a := e.cache[vid] if len(a) == 0 { e.cachedVals = append(e.cachedVals, vid) @@ -2181,7 +2182,7 @@ func (e *edgeState) erase(loc Location) { // Add a destination to move this value back into place. // Make sure it gets added to the tail of the destination queue // so we make progress on other moves first. - e.extra = append(e.extra, dstRecord{loc, cr.vid, nil, cr.line}) + e.extra = append(e.extra, dstRecord{loc, cr.vid, nil, cr.pos}) } // Remove c from the list of cached values. @@ -2250,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()) } @@ -2290,9 +2291,9 @@ func (v *Value) rematerializeable() bool { } type liveInfo struct { - ID ID // ID of value - dist int32 // # of instructions before next use - line int32 // line number of next use + ID ID // ID of value + dist int32 // # of instructions before next use + pos src.XPos // source position of next use } // dblock contains information about desired & avoid registers at the end of a block. @@ -2341,12 +2342,12 @@ func (s *regAllocState) computeLive() { // to beginning-of-block distance. live.clear() for _, e := range s.live[b.ID] { - live.set(e.ID, e.dist+int32(len(b.Values)), e.line) + live.set(e.ID, e.dist+int32(len(b.Values)), e.pos) } // 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 @@ -2368,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) } } } @@ -2427,7 +2428,7 @@ func (s *regAllocState) computeLive() { // Start t off with the previously known live values at the end of p. t.clear() for _, e := range s.live[p.ID] { - t.set(e.ID, e.dist, e.line) + t.set(e.ID, e.dist, e.pos) } update := false @@ -2446,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) } } diff --git a/src/cmd/compile/internal/ssa/rewrite.go b/src/cmd/compile/internal/ssa/rewrite.go index 1f9a90ff35..11d1e9d8c9 100644 --- a/src/cmd/compile/internal/ssa/rewrite.go +++ b/src/cmd/compile/internal/ssa/rewrite.go @@ -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 } diff --git a/src/cmd/compile/internal/ssa/rewrite386.go b/src/cmd/compile/internal/ssa/rewrite386.go index 741886da90..99b665783e 100644 --- a/src/cmd/compile/internal/ssa/rewrite386.go +++ b/src/cmd/compile/internal/ssa/rewrite386.go @@ -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) diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go index 1257ec6e7c..2b05e9b982 100644 --- a/src/cmd/compile/internal/ssa/rewriteAMD64.go +++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go @@ -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) diff --git a/src/cmd/compile/internal/ssa/rewriteARM.go b/src/cmd/compile/internal/ssa/rewriteARM.go index 0f8a77f548..edfd9ac9c3 100644 --- a/src/cmd/compile/internal/ssa/rewriteARM.go +++ b/src/cmd/compile/internal/ssa/rewriteARM.go @@ -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) diff --git a/src/cmd/compile/internal/ssa/rewriteARM64.go b/src/cmd/compile/internal/ssa/rewriteARM64.go index dd5aa28d3c..76f9a105d0 100644 --- a/src/cmd/compile/internal/ssa/rewriteARM64.go +++ b/src/cmd/compile/internal/ssa/rewriteARM64.go @@ -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) diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS.go b/src/cmd/compile/internal/ssa/rewriteMIPS.go index cbe9f1b580..21dae76f5f 100644 --- a/src/cmd/compile/internal/ssa/rewriteMIPS.go +++ b/src/cmd/compile/internal/ssa/rewriteMIPS.go @@ -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) diff --git a/src/cmd/compile/internal/ssa/rewriteMIPS64.go b/src/cmd/compile/internal/ssa/rewriteMIPS64.go index 76c6412966..5821337c2f 100644 --- a/src/cmd/compile/internal/ssa/rewriteMIPS64.go +++ b/src/cmd/compile/internal/ssa/rewriteMIPS64.go @@ -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) diff --git a/src/cmd/compile/internal/ssa/rewritePPC64.go b/src/cmd/compile/internal/ssa/rewritePPC64.go index 031459c1ff..c78971f801 100644 --- a/src/cmd/compile/internal/ssa/rewritePPC64.go +++ b/src/cmd/compile/internal/ssa/rewritePPC64.go @@ -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, 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) @@ -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, OpPPC64CMPWU, TypeFlags) + v0 := b.NewValue0(v.Pos, OpPPC64CMPWU, 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, 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) @@ -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) diff --git a/src/cmd/compile/internal/ssa/rewriteS390X.go b/src/cmd/compile/internal/ssa/rewriteS390X.go index 5acaf2dbdc..07350014cf 100644 --- a/src/cmd/compile/internal/ssa/rewriteS390X.go +++ b/src/cmd/compile/internal/ssa/rewriteS390X.go @@ -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) diff --git a/src/cmd/compile/internal/ssa/rewritedec.go b/src/cmd/compile/internal/ssa/rewritedec.go index fd52751890..60c18bdd33 100644 --- a/src/cmd/compile/internal/ssa/rewritedec.go +++ b/src/cmd/compile/internal/ssa/rewritedec.go @@ -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) diff --git a/src/cmd/compile/internal/ssa/rewritedec64.go b/src/cmd/compile/internal/ssa/rewritedec64.go index deca007514..ff45a5dd88 100644 --- a/src/cmd/compile/internal/ssa/rewritedec64.go +++ b/src/cmd/compile/internal/ssa/rewritedec64.go @@ -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 diff --git a/src/cmd/compile/internal/ssa/rewritegeneric.go b/src/cmd/compile/internal/ssa/rewritegeneric.go index 1a2eacccf8..0fde363b3e 100644 --- a/src/cmd/compile/internal/ssa/rewritegeneric.go +++ b/src/cmd/compile/internal/ssa/rewritegeneric.go @@ -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() && int(v.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() && int(v.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() && int(v.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() && int(v.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) diff --git a/src/cmd/compile/internal/ssa/schedule.go b/src/cmd/compile/internal/ssa/schedule.go index f2a89d82d8..bd4d3299f2 100644 --- a/src/cmd/compile/internal/ssa/schedule.go +++ b/src/cmd/compile/internal/ssa/schedule.go @@ -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 > 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 { diff --git a/src/cmd/compile/internal/ssa/shortcircuit.go b/src/cmd/compile/internal/ssa/shortcircuit.go index ff05a04c47..e6c274641e 100644 --- a/src/cmd/compile/internal/ssa/shortcircuit.go +++ b/src/cmd/compile/internal/ssa/shortcircuit.go @@ -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 { diff --git a/src/cmd/compile/internal/ssa/sizeof_test.go b/src/cmd/compile/internal/ssa/sizeof_test.go index 4aab923653..d49c70a97b 100644 --- a/src/cmd/compile/internal/ssa/sizeof_test.go +++ b/src/cmd/compile/internal/ssa/sizeof_test.go @@ -22,8 +22,8 @@ func TestSizeof(t *testing.T) { _32bit uintptr // size on 32bit platforms _64bit uintptr // size on 64bit platforms }{ - {Value{}, 68, 112}, - {Block{}, 148, 288}, + {Value{}, 72, 120}, + {Block{}, 152, 288}, } for _, tt := range tests { diff --git a/src/cmd/compile/internal/ssa/sparsemap.go b/src/cmd/compile/internal/ssa/sparsemap.go index 70c4f6190c..973ab3d434 100644 --- a/src/cmd/compile/internal/ssa/sparsemap.go +++ b/src/cmd/compile/internal/ssa/sparsemap.go @@ -4,13 +4,15 @@ package ssa +import "cmd/internal/src" + // from http://research.swtch.com/sparse // in turn, from Briggs and Torczon type sparseEntry struct { key ID val int32 - aux int32 + aux src.XPos } type sparseMap struct { @@ -43,7 +45,7 @@ func (s *sparseMap) get(k ID) int32 { return -1 } -func (s *sparseMap) set(k ID, v, a int32) { +func (s *sparseMap) set(k ID, v int32, a src.XPos) { i := s.sparse[k] if i < int32(len(s.dense)) && s.dense[i].key == k { s.dense[i].val = v @@ -64,7 +66,7 @@ func (s *sparseMap) setBit(k ID, v uint) { s.dense[i].val |= 1 << v return } - s.dense = append(s.dense, sparseEntry{k, 1 << v, 0}) + s.dense = append(s.dense, sparseEntry{k, 1 << v, src.NoXPos}) s.sparse[k] = int32(len(s.dense)) - 1 } diff --git a/src/cmd/compile/internal/ssa/stackalloc.go b/src/cmd/compile/internal/ssa/stackalloc.go index dc2fd7d33b..cdc40e5a35 100644 --- a/src/cmd/compile/internal/ssa/stackalloc.go +++ b/src/cmd/compile/internal/ssa/stackalloc.go @@ -6,7 +6,10 @@ package ssa -import "fmt" +import ( + "cmd/internal/src" + "fmt" +) type stackAllocState struct { f *Func @@ -37,7 +40,7 @@ func newStackAllocState(f *Func) *stackAllocState { return new(stackAllocState) } if s.f != nil { - f.Config.Fatalf(0, "newStackAllocState called without previous free") + f.Config.Fatalf(src.NoXPos, "newStackAllocState called without previous free") } return s } diff --git a/src/cmd/compile/internal/ssa/value.go b/src/cmd/compile/internal/ssa/value.go index 489ed3545f..b9b35b1d98 100644 --- a/src/cmd/compile/internal/ssa/value.go +++ b/src/cmd/compile/internal/ssa/value.go @@ -5,6 +5,7 @@ package ssa import ( + "cmd/internal/src" "fmt" "math" ) @@ -36,8 +37,8 @@ type Value struct { // Containing basic block Block *Block - // Source line number - Line int32 + // Source position + Pos src.XPos // Use count. Each appearance in Value.Args and Block.Control counts once. Uses int32 @@ -217,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...) @@ -232,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. diff --git a/src/cmd/compile/internal/ssa/writebarrier.go b/src/cmd/compile/internal/ssa/writebarrier.go index 054ba1f85c..1bfe9fe44f 100644 --- a/src/cmd/compile/internal/ssa/writebarrier.go +++ b/src/cmd/compile/internal/ssa/writebarrier.go @@ -4,7 +4,10 @@ package ssa -import "fmt" +import ( + "cmd/internal/src" + "fmt" +) // writebarrier expands write barrier ops (StoreWB, MoveWB, etc.) into // branches and runtime calls, like @@ -53,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 @@ -78,7 +81,7 @@ func writebarrier(f *Func) { defer f.retSparseSet(wbs) } - line := v.Line + pos := v.Pos // there may be a sequence of WB stores in the current block. find them. storeWBs = storeWBs[:0] @@ -124,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 = pos + bElse.Pos = pos + bEnd.Pos = pos // set up control flow for end block bEnd.SetControl(b.Control) @@ -138,9 +141,9 @@ func writebarrier(f *Func) { // set up control flow for write barrier test // load word, test word, avoiding partial register write from load byte. - flag := b.NewValue2(line, OpLoad, f.Config.fe.TypeUInt32(), wbaddr, mem) - const0 := f.ConstInt32(line, f.Config.fe.TypeUInt32(), 0) - flag = b.NewValue2(line, OpNeq32, f.Config.fe.TypeBool(), flag, const0) + flag := b.NewValue2(pos, OpLoad, f.Config.fe.TypeUInt32(), wbaddr, mem) + const0 := f.ConstInt32(pos, f.Config.fe.TypeUInt32(), 0) + flag = b.NewValue2(pos, OpNeq32, f.Config.fe.TypeBool(), flag, const0) b.Kind = BlockIf b.SetControl(flag) b.Likely = BranchUnlikely @@ -175,13 +178,13 @@ func writebarrier(f *Func) { } // then block: emit write barrier call - memThen = wbcall(line, bThen, fn, typ, ptr, val, memThen, sp, sb, w.Op == OpMoveWBVolatile) + memThen = wbcall(pos, bThen, fn, typ, ptr, val, memThen, sp, sb, w.Op == OpMoveWBVolatile) // else block: normal store if op == OpZero { - memElse = bElse.NewValue2I(line, op, TypeMem, siz, ptr, memElse) + memElse = bElse.NewValue2I(pos, op, TypeMem, siz, ptr, memElse) } else { - memElse = bElse.NewValue3I(line, op, TypeMem, siz, ptr, val, memElse) + memElse = bElse.NewValue3I(pos, op, TypeMem, siz, ptr, val, memElse) } } @@ -226,7 +229,7 @@ func writebarrier(f *Func) { } if f.Config.fe.Debug_wb() { - f.Config.Warnl(line, "write barrier") + f.Config.Warnl(pos, "write barrier") } break valueLoop @@ -237,7 +240,7 @@ func writebarrier(f *Func) { // wbcall emits write barrier runtime call in b, returns memory. // if valIsVolatile, it moves val into temp space before making the call. -func wbcall(line int32, b *Block, fn interface{}, typ interface{}, ptr, val, mem, sp, sb *Value, valIsVolatile bool) *Value { +func wbcall(pos src.XPos, b *Block, fn interface{}, typ interface{}, ptr, val, mem, sp, sb *Value, valIsVolatile bool) *Value { config := b.Func.Config var tmp GCNode @@ -248,10 +251,10 @@ func wbcall(line int32, b *Block, fn interface{}, typ interface{}, ptr, val, mem t := val.Type.ElemType() tmp = config.fe.Auto(t) aux := &AutoSymbol{Typ: t, Node: tmp} - mem = b.NewValue1A(line, OpVarDef, TypeMem, tmp, mem) - tmpaddr := b.NewValue1A(line, OpAddr, t.PtrTo(), aux, sp) + mem = b.NewValue1A(pos, OpVarDef, TypeMem, tmp, mem) + tmpaddr := b.NewValue1A(pos, OpAddr, t.PtrTo(), aux, sp) siz := MakeSizeAndAlign(t.Size(), t.Alignment()).Int64() - mem = b.NewValue3I(line, OpMove, TypeMem, siz, tmpaddr, val, mem) + mem = b.NewValue3I(pos, OpMove, TypeMem, siz, tmpaddr, val, mem) val = tmpaddr } @@ -259,32 +262,32 @@ func wbcall(line int32, b *Block, fn interface{}, typ interface{}, ptr, val, mem off := config.ctxt.FixedFrameSize() if typ != nil { // for typedmemmove - taddr := b.NewValue1A(line, OpAddr, config.fe.TypeUintptr(), typ, sb) + taddr := b.NewValue1A(pos, OpAddr, config.fe.TypeUintptr(), typ, sb) off = round(off, taddr.Type.Alignment()) - arg := b.NewValue1I(line, OpOffPtr, taddr.Type.PtrTo(), off, sp) - mem = b.NewValue3I(line, OpStore, TypeMem, ptr.Type.Size(), arg, taddr, mem) + arg := b.NewValue1I(pos, OpOffPtr, taddr.Type.PtrTo(), off, sp) + mem = b.NewValue3I(pos, OpStore, TypeMem, ptr.Type.Size(), arg, taddr, mem) off += taddr.Type.Size() } off = round(off, ptr.Type.Alignment()) - arg := b.NewValue1I(line, OpOffPtr, ptr.Type.PtrTo(), off, sp) - mem = b.NewValue3I(line, OpStore, TypeMem, ptr.Type.Size(), arg, ptr, mem) + arg := b.NewValue1I(pos, OpOffPtr, ptr.Type.PtrTo(), off, sp) + mem = b.NewValue3I(pos, OpStore, TypeMem, ptr.Type.Size(), arg, ptr, mem) off += ptr.Type.Size() if val != nil { off = round(off, val.Type.Alignment()) - arg = b.NewValue1I(line, OpOffPtr, val.Type.PtrTo(), off, sp) - mem = b.NewValue3I(line, OpStore, TypeMem, val.Type.Size(), arg, val, mem) + arg = b.NewValue1I(pos, OpOffPtr, val.Type.PtrTo(), off, sp) + mem = b.NewValue3I(pos, OpStore, TypeMem, val.Type.Size(), arg, val, mem) off += val.Type.Size() } off = round(off, config.PtrSize) // issue call - mem = b.NewValue1A(line, OpStaticCall, TypeMem, fn, mem) + mem = b.NewValue1A(pos, OpStaticCall, TypeMem, fn, mem) mem.AuxInt = off - config.ctxt.FixedFrameSize() if valIsVolatile { - mem = b.NewValue1A(line, OpVarKill, TypeMem, tmp, mem) // mark temp dead + mem = b.NewValue1A(pos, OpVarKill, TypeMem, tmp, mem) // mark temp dead } return mem diff --git a/src/cmd/compile/internal/syntax/dumper_test.go b/src/cmd/compile/internal/syntax/dumper_test.go index 2b20cbdd97..1186193aba 100644 --- a/src/cmd/compile/internal/syntax/dumper_test.go +++ b/src/cmd/compile/internal/syntax/dumper_test.go @@ -14,7 +14,7 @@ func TestDump(t *testing.T) { t.Skip("skipping test in short mode") } - ast, err := ParseFile(*src, nil, nil, 0) + ast, err := ParseFile(*src_, nil, nil, 0) if err != nil { t.Fatal(err) } diff --git a/src/cmd/compile/internal/syntax/nodes.go b/src/cmd/compile/internal/syntax/nodes.go index 34524e5c09..b788efb3ec 100644 --- a/src/cmd/compile/internal/syntax/nodes.go +++ b/src/cmd/compile/internal/syntax/nodes.go @@ -4,11 +4,13 @@ package syntax +import "cmd/internal/src" + // ---------------------------------------------------------------------------- // Nodes type Node interface { - Line() uint32 + Pos() src.Pos aNode() init(p *parser) } @@ -16,19 +18,18 @@ type Node interface { type node struct { // commented out for now since not yet used // doc *Comment // nil means no comment(s) attached - pos uint32 - line uint32 + pos src.Pos } -func (*node) aNode() {} - -func (n *node) Line() uint32 { - return n.line +func (n *node) Pos() src.Pos { + return n.pos } +func (*node) aNode() {} + +// TODO(gri) we may be able to get rid of init here and in Node func (n *node) init(p *parser) { - n.pos = uint32(p.pos) - n.line = uint32(p.line) + n.pos = p.pos() } // ---------------------------------------------------------------------------- @@ -38,7 +39,7 @@ func (n *node) init(p *parser) { type File struct { PkgName *Name DeclList []Decl - Lines int + Lines uint node } @@ -103,7 +104,7 @@ type ( Type *FuncType Body []Stmt // nil means no body (forward declaration) Pragma Pragma // TODO(mdempsky): Cleaner solution. - EndLine uint32 // TODO(mdempsky): Cleaner solution. + EndLine uint // TODO(mdempsky): Cleaner solution. decl } ) @@ -143,8 +144,8 @@ type ( CompositeLit struct { Type Expr // nil means no literal type ElemList []Expr - NKeys int // number of elements with keys - EndLine uint32 // TODO(mdempsky): Cleaner solution. + NKeys int // number of elements with keys + EndLine uint // TODO(mdempsky): Cleaner solution. expr } @@ -158,7 +159,7 @@ type ( FuncLit struct { Type *FuncType Body []Stmt - EndLine uint32 // TODO(mdempsky): Cleaner solution. + EndLine uint // TODO(mdempsky): Cleaner solution. expr } diff --git a/src/cmd/compile/internal/syntax/parser.go b/src/cmd/compile/internal/syntax/parser.go index 1185507238..fd16f580fb 100644 --- a/src/cmd/compile/internal/syntax/parser.go +++ b/src/cmd/compile/internal/syntax/parser.go @@ -5,8 +5,10 @@ package syntax import ( + "cmd/internal/src" "fmt" "io" + "strconv" "strings" ) @@ -19,21 +21,67 @@ const trace = false const gcCompat = true type parser struct { + base *src.PosBase + errh ErrorHandler scanner + first error // first error encountered + pragma Pragma // pragma flags + fnest int // function nesting level (for error handling) xnest int // expression nesting level (for complit ambiguity resolution) indent []byte // tracing support } -func (p *parser) init(src io.Reader, errh ErrorHandler, pragh PragmaHandler) { - p.scanner.init(src, errh, pragh) +func (p *parser) init(base *src.PosBase, r io.Reader, errh ErrorHandler, pragh PragmaHandler) { + p.base = base + p.errh = errh + p.scanner.init( + r, + // Error and pragma handlers for scanner. + // Because the (line, col) positions passed to these + // handlers are always at or after the current reading + // position, it is save to use the most recent position + // base to compute the corresponding Pos value. + func(line, col uint, msg string) { + p.error_at(p.pos_at(line, col), msg) + }, + func(line, col uint, text string) { + if strings.HasPrefix(text, "line ") { + p.updateBase(line, col+5, text[5:]) + return + } + if pragh != nil { + p.pragma |= pragh(p.pos_at(line, col), text) + } + }, + ) + + p.first = nil + p.pragma = 0 p.fnest = 0 p.xnest = 0 p.indent = nil } +const lineMax = 1<<24 - 1 // TODO(gri) this limit is defined for src.Pos - fix + +func (p *parser) updateBase(line, col uint, text string) { + // Want to use LastIndexByte below but it's not defined in Go1.4 and bootstrap fails. + i := strings.LastIndex(text, ":") // look from right (Windows filenames may contain ':') + if i < 0 { + return // ignore (not a line directive) + } + nstr := text[i+1:] + n, err := strconv.Atoi(nstr) + if err != nil || n <= 0 || n > lineMax { + p.error_at(p.pos_at(line, col+uint(i+1)), "invalid line number: "+nstr) + return + } + p.base = src.NewLinePragmaBase(src.MakePos(p.base.Pos().Base(), line, col), text[:i], uint(n)) +} + func (p *parser) got(tok token) bool { if p.tok == tok { p.next() @@ -52,13 +100,25 @@ func (p *parser) want(tok token) { // ---------------------------------------------------------------------------- // Error handling -// syntax_error reports a syntax error at the current line. -func (p *parser) syntax_error(msg string) { - p.syntax_error_at(p.pos, p.line, msg) +// pos_at returns the Pos value for (line, col) and the current position base. +func (p *parser) pos_at(line, col uint) src.Pos { + return src.MakePos(p.base, line, col) } -// Like syntax_error, but reports error at given line rather than current lexer line. -func (p *parser) syntax_error_at(pos, line int, msg string) { +// error reports an error at the given position. +func (p *parser) error_at(pos src.Pos, msg string) { + err := Error{pos, msg} + if p.first == nil { + p.first = err + } + if p.errh == nil { + panic(p.first) + } + p.errh(err) +} + +// syntax_error_at reports a syntax error at the given position. +func (p *parser) syntax_error_at(pos src.Pos, msg string) { if trace { defer p.trace("syntax_error (" + msg + ")")() } @@ -77,7 +137,7 @@ func (p *parser) syntax_error_at(pos, line int, msg string) { msg = ", " + msg default: // plain error - we don't care about current token - p.error_at(pos, line, "syntax error: "+msg) + p.error_at(pos, "syntax error: "+msg) return } @@ -99,9 +159,14 @@ func (p *parser) syntax_error_at(pos, line int, msg string) { tok = tokstring(p.tok) } - p.error_at(pos, line, "syntax error: unexpected "+tok+msg) + p.error_at(pos, "syntax error: unexpected "+tok+msg) } +// Convenience methods using the current token position. +func (p *parser) pos() src.Pos { return p.pos_at(p.line, p.col) } +func (p *parser) error(msg string) { p.error_at(p.pos(), msg) } +func (p *parser) syntax_error(msg string) { p.syntax_error_at(p.pos(), msg) } + // The stopset contains keywords that start a statement. // They are good synchronization points in case of syntax // errors and (usually) shouldn't be skipped over. @@ -429,7 +494,7 @@ func (p *parser) funcDecl() *FuncDecl { f.Body = p.funcBody() f.Pragma = p.pragma - f.EndLine = uint32(p.line) + f.EndLine = p.line // TODO(gri) deal with function properties // if noescape && body != nil { @@ -652,7 +717,7 @@ func (p *parser) operand(keep_parens bool) Expr { f.init(p) f.Type = t f.Body = p.funcBody() - f.EndLine = uint32(p.line) + f.EndLine = p.line p.xnest-- p.fnest-- return f @@ -873,7 +938,7 @@ func (p *parser) complitexpr() *CompositeLit { } } - x.EndLine = uint32(p.line) + x.EndLine = p.line p.xnest-- p.want(_Rbrace) @@ -1198,7 +1263,7 @@ func (p *parser) fieldDecl(styp *StructType) { p.want(_Rparen) tag := p.oliteral() p.addField(styp, nil, typ, tag) - p.error("cannot parenthesize embedded type") + p.syntax_error("cannot parenthesize embedded type") } else { // '(' embed ')' oliteral @@ -1206,7 +1271,7 @@ func (p *parser) fieldDecl(styp *StructType) { p.want(_Rparen) tag := p.oliteral() p.addField(styp, nil, typ, tag) - p.error("cannot parenthesize embedded type") + p.syntax_error("cannot parenthesize embedded type") } case _Star: @@ -1217,7 +1282,7 @@ func (p *parser) fieldDecl(styp *StructType) { p.want(_Rparen) tag := p.oliteral() p.addField(styp, nil, typ, tag) - p.error("cannot parenthesize embedded type") + p.syntax_error("cannot parenthesize embedded type") } else { // '*' embed oliteral @@ -1285,7 +1350,7 @@ func (p *parser) methodDecl() *Field { f.init(p) f.Type = p.qualifiedName(nil) p.want(_Rparen) - p.error("cannot parenthesize embedded type") + p.syntax_error("cannot parenthesize embedded type") return f default: @@ -1352,7 +1417,7 @@ func (p *parser) dotsType() *DotsType { p.want(_DotDotDot) t.Elem = p.tryType() if t.Elem == nil { - p.error("final argument in variadic function missing type") + p.syntax_error("final argument in variadic function missing type") } return t @@ -1563,7 +1628,7 @@ func (p *parser) labeledStmt(label *Name) Stmt { s.Stmt = p.stmt() if s.Stmt == missing_stmt { // report error at line of ':' token - p.syntax_error_at(int(label.pos), int(label.line), "missing statement after label") + p.syntax_error_at(label.Pos(), "missing statement after label") // we are already at the end of the labeled statement - no need to advance return missing_stmt } @@ -1646,7 +1711,7 @@ func (p *parser) header(forStmt bool) (init SimpleStmt, cond Expr, post SimpleSt if p.tok != _Semi { // accept potential varDecl but complain if forStmt && p.got(_Var) { - p.error("var declaration not allowed in for initializer") + p.syntax_error("var declaration not allowed in for initializer") } init = p.simpleStmt(nil, forStmt) // If we have a range clause, we are done. @@ -1699,7 +1764,7 @@ func (p *parser) ifStmt() *IfStmt { p.want(_If) s.Init, s.Cond, _ = p.header(false) if s.Cond == nil { - p.error("missing condition in if statement") + p.syntax_error("missing condition in if statement") } if gcCompat { @@ -1715,7 +1780,7 @@ func (p *parser) ifStmt() *IfStmt { case _Lbrace: s.Else = p.blockStmt() default: - p.error("else must be followed by if or statement block") + p.syntax_error("else must be followed by if or statement block") p.advance(_Name, _Rbrace) } } @@ -2088,7 +2153,7 @@ func (p *parser) exprList() Expr { list = append(list, p.expr()) } t := new(ListExpr) - t.init(p) // TODO(gri) what is the correct thing here? + t.pos = x.Pos() t.ElemList = list x = t } diff --git a/src/cmd/compile/internal/syntax/parser_test.go b/src/cmd/compile/internal/syntax/parser_test.go index c4b43bfe78..da56168957 100644 --- a/src/cmd/compile/internal/syntax/parser_test.go +++ b/src/cmd/compile/internal/syntax/parser_test.go @@ -6,6 +6,7 @@ package syntax import ( "bytes" + "cmd/internal/src" "flag" "fmt" "io/ioutil" @@ -18,11 +19,11 @@ import ( ) var fast = flag.Bool("fast", false, "parse package files in parallel") -var src = flag.String("src", "parser.go", "source file to parse") +var src_ = flag.String("src", "parser.go", "source file to parse") var verify = flag.Bool("verify", false, "verify idempotent printing") func TestParse(t *testing.T) { - _, err := ParseFile(*src, nil, nil, 0) + _, err := ParseFile(*src_, nil, nil, 0) if err != nil { t.Fatal(err) } @@ -39,7 +40,7 @@ func TestStdLib(t *testing.T) { type parseResult struct { filename string - lines int + lines uint } results := make(chan parseResult) @@ -65,7 +66,7 @@ func TestStdLib(t *testing.T) { } }() - var count, lines int + var count, lines uint for res := range results { count++ lines += res.lines @@ -133,7 +134,7 @@ func verifyPrint(filename string, ast1 *File) { panic(err) } - ast2, err := ParseBytes(buf1.Bytes(), nil, nil, 0) + ast2, err := ParseBytes(src.NewFileBase(filename, filename), buf1.Bytes(), nil, nil, 0) if err != nil { panic(err) } @@ -157,7 +158,7 @@ func verifyPrint(filename string, ast1 *File) { } func TestIssue17697(t *testing.T) { - _, err := ParseBytes(nil, nil, nil, 0) // return with parser error, don't panic + _, err := ParseBytes(nil, nil, nil, nil, 0) // return with parser error, don't panic if err == nil { t.Errorf("no error reported") } @@ -182,3 +183,47 @@ func TestParseFile(t *testing.T) { t.Errorf("got %v; want first error %v", err, first) } } + +func TestLineDirectives(t *testing.T) { + for _, test := range []struct { + src, msg string + filename string + line, col uint + }{ + // test validity of //line directive + {`//line :`, "invalid line number: ", "", 1, 8}, + {`//line :x`, "invalid line number: x", "", 1, 8}, + {`//line foo :`, "invalid line number: ", "", 1, 12}, + {`//line foo:123abc`, "invalid line number: 123abc", "", 1, 11}, + {`/**///line foo:x`, "invalid line number: x", "", 1, 15}, + {`//line foo:0`, "invalid line number: 0", "", 1, 11}, + {fmt.Sprintf(`//line foo:%d`, lineMax+1), fmt.Sprintf("invalid line number: %d", lineMax+1), "", 1, 11}, + + // test effect of //line directive on (relative) position information + {"//line foo:123\n foo", "syntax error: package statement must be first", "foo", 123, 3}, + {"//line foo:123\n//line bar:345\nfoo", "syntax error: package statement must be first", "bar", 345, 0}, + } { + _, err := ParseBytes(nil, []byte(test.src), nil, nil, 0) + if err == nil { + t.Errorf("%s: no error reported", test.src) + continue + } + perr, ok := err.(Error) + if !ok { + t.Errorf("%s: got %v; want parser error", test.src, err) + continue + } + if msg := perr.Msg; msg != test.msg { + t.Errorf("%s: got msg = %q; want %q", test.src, msg, test.msg) + } + if filename := perr.Pos.RelFilename(); filename != test.filename { + t.Errorf("%s: got filename = %q; want %q", test.src, filename, test.filename) + } + if line := perr.Pos.RelLine(); line != test.line { + t.Errorf("%s: got line = %d; want %d", test.src, line, test.line) + } + if col := perr.Pos.Col(); col != test.col { + t.Errorf("%s: got col = %d; want %d", test.src, col, test.col) + } + } +} diff --git a/src/cmd/compile/internal/syntax/printer_test.go b/src/cmd/compile/internal/syntax/printer_test.go index a9969e610a..14652f4ac6 100644 --- a/src/cmd/compile/internal/syntax/printer_test.go +++ b/src/cmd/compile/internal/syntax/printer_test.go @@ -15,7 +15,7 @@ func TestPrint(t *testing.T) { t.Skip("skipping test in short mode") } - ast, err := ParseFile(*src, nil, nil, 0) + ast, err := ParseFile(*src_, nil, nil, 0) if err != nil { t.Fatal(err) } @@ -29,7 +29,7 @@ func TestPrintString(t *testing.T) { "package p; type _ = int; type T1 = struct{}; type ( _ = *struct{}; T2 = float32 )", // TODO(gri) expand } { - ast, err := ParseBytes([]byte(want), nil, nil, 0) + ast, err := ParseBytes(nil, []byte(want), nil, nil, 0) if err != nil { t.Error(err) continue diff --git a/src/cmd/compile/internal/syntax/scanner.go b/src/cmd/compile/internal/syntax/scanner.go index b84fcc5fd1..149827b21c 100644 --- a/src/cmd/compile/internal/syntax/scanner.go +++ b/src/cmd/compile/internal/syntax/scanner.go @@ -2,38 +2,55 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// This file implements scanner, a lexical tokenizer for +// Go source. After initialization, consecutive calls of +// next advance the scanner one token at a time. +// +// This file, source.go, and tokens.go are self-contained +// (go tool compile scanner.go source.go tokens.go compiles) +// and thus could be made into its own package. + package syntax import ( "fmt" "io" - "strings" "unicode" "unicode/utf8" ) type scanner struct { source + pragh func(line, col uint, msg string) nlsemi bool // if set '\n' and EOF translate to ';' - pragma Pragma // current token, valid after calling next() - pos, line int + line, col uint tok token lit string // valid if tok is _Name or _Literal kind LitKind // valid if tok is _Literal op Operator // valid if tok is _Operator, _AssignOp, or _IncOp prec int // valid if tok is _Operator, _AssignOp, or _IncOp - - pragh PragmaHandler } -func (s *scanner) init(src io.Reader, errh ErrorHandler, pragh PragmaHandler) { +func (s *scanner) init(src io.Reader, errh, pragh func(line, col uint, msg string)) { s.source.init(src, errh) - s.nlsemi = false s.pragh = pragh + s.nlsemi = false } +// next advances the scanner by reading the next token. +// +// If a read, source encoding, or lexical error occurs, next +// calls the error handler installed with init. The handler +// must exist. +// +// If a //line or //go: directive is encountered, next +// calls the pragma handler installed with init, if not nil. +// +// The (line, col) position passed to the error and pragma +// handler is always at or after the current source reading +// position. func (s *scanner) next() { nlsemi := s.nlsemi s.nlsemi = false @@ -46,9 +63,9 @@ redo: } // token start - s.pos, s.line = s.source.pos0(), s.source.line0 + s.line, s.col = s.source.line0, s.source.col0 - if isLetter(c) || c >= utf8.RuneSelf && (unicode.IsLetter(c) || s.isCompatRune(c, true)) { + if isLetter(c) || c >= utf8.RuneSelf && s.isIdentRune(c, true) { s.ident() return } @@ -114,8 +131,7 @@ redo: case '.': c = s.getr() if isDigit(c) { - s.ungetr() - s.source.r0-- // make sure '.' is part of literal (line cannot have changed) + s.ungetr2() s.number('.') break } @@ -125,8 +141,7 @@ redo: s.tok = _DotDotDot break } - s.ungetr() - s.source.r0-- // make next ungetr work (line cannot have changed) + s.ungetr2() } s.ungetr() s.tok = _Dot @@ -273,7 +288,7 @@ redo: default: s.tok = 0 - s.error(fmt.Sprintf("illegal character %#U", c)) + s.error(fmt.Sprintf("invalid character %#U", c)) goto redo } @@ -307,7 +322,7 @@ func (s *scanner) ident() { // general case if c >= utf8.RuneSelf { - for unicode.IsLetter(c) || c == '_' || unicode.IsDigit(c) || s.isCompatRune(c, false) { + for s.isIdentRune(c, false) { c = s.getr() } } @@ -329,14 +344,18 @@ func (s *scanner) ident() { s.tok = _Name } -func (s *scanner) isCompatRune(c rune, start bool) bool { - if !gcCompat || c < utf8.RuneSelf { - return false - } - if start && unicode.IsNumber(c) { - s.error(fmt.Sprintf("identifier cannot begin with digit %#U", c)) - } else { +func (s *scanner) isIdentRune(c rune, first bool) bool { + switch { + case unicode.IsLetter(c) || c == '_': + // ok + case unicode.IsDigit(c): + if first { + s.error(fmt.Sprintf("identifier cannot begin with digit %#U", c)) + } + case c >= utf8.RuneSelf: s.error(fmt.Sprintf("invalid identifier character %#U", c)) + default: + return false } return true } @@ -460,7 +479,7 @@ func (s *scanner) stdString() { break } if r < 0 { - s.error_at(s.pos, s.line, "string not terminated") + s.errh(s.line, s.col, "string not terminated") break } } @@ -480,7 +499,7 @@ func (s *scanner) rawString() { break } if r < 0 { - s.error_at(s.pos, s.line, "string not terminated") + s.errh(s.line, s.col, "string not terminated") break } } @@ -526,48 +545,46 @@ func (s *scanner) rune() { s.tok = _Literal } +func (s *scanner) skipLine(r rune) { + for r >= 0 { + if r == '\n' { + s.ungetr() // don't consume '\n' - needed for nlsemi logic + break + } + r = s.getr() + } +} + func (s *scanner) lineComment() { - // recognize pragmas - var prefix string r := s.getr() - if s.pragh == nil { - goto skip + if s.pragh == nil || (r != 'g' && r != 'l') { + s.skipLine(r) + return } + // s.pragh != nil && (r == 'g' || r == 'l') - switch r { - case 'g': - prefix = "go:" - case 'l': + // recognize pragmas + prefix := "go:" + if r == 'l' { prefix = "line " - default: - goto skip } - - s.startLit() for _, m := range prefix { if r != m { - s.stopLit() - goto skip + s.skipLine(r) + return } r = s.getr() } - for r >= 0 { - if r == '\n' { - s.ungetr() - break - } - r = s.getr() + // pragma text without line ending (which may be "\r\n" if Windows), + s.startLit() + s.skipLine(r) + text := s.stopLit() + if i := len(text) - 1; i >= 0 && text[i] == '\r' { + text = text[:i] } - s.pragma |= s.pragh(0, s.line, strings.TrimSuffix(string(s.stopLit()), "\r")) - return -skip: - // consume line - for r != '\n' && r >= 0 { - r = s.getr() - } - s.ungetr() // don't consume '\n' - needed for nlsemi logic + s.pragh(s.line, s.col+2, prefix+string(text)) // +2 since pragma text starts after // } func (s *scanner) fullComment() { @@ -580,7 +597,7 @@ func (s *scanner) fullComment() { } } if r < 0 { - s.error_at(s.pos, s.line, "comment not terminated") + s.errh(s.line, s.col, "comment not terminated") return } } @@ -628,19 +645,11 @@ func (s *scanner) escape(quote rune) bool { if c < 0 { return true // complain in caller about EOF } - if gcCompat { - name := "hex" - if base == 8 { - name = "octal" - } - s.error(fmt.Sprintf("non-%s character in escape sequence: %c", name, c)) - } else { - if c != quote { - s.error(fmt.Sprintf("illegal character %#U in escape sequence", c)) - } else { - s.error("escape sequence incomplete") - } + kind := "hex" + if base == 8 { + kind = "octal" } + s.error(fmt.Sprintf("non-%s character in escape sequence: %c", kind, c)) s.ungetr() return false } diff --git a/src/cmd/compile/internal/syntax/scanner_test.go b/src/cmd/compile/internal/syntax/scanner_test.go index 0e81c4e613..fcdc3348e4 100644 --- a/src/cmd/compile/internal/syntax/scanner_test.go +++ b/src/cmd/compile/internal/syntax/scanner_test.go @@ -56,7 +56,7 @@ func TestTokens(t *testing.T) { for i, want := range sampleTokens { nlsemi := false - if got.line != i+1 { + if got.line != uint(i+1) { t.Errorf("got line %d; want %d", got.line, i+1) } @@ -256,88 +256,93 @@ var sampleTokens = [...]struct { func TestScanErrors(t *testing.T) { for _, test := range []struct { src, msg string - pos, line int + line, col uint }{ // Note: Positions for lexical errors are the earliest position // where the error is apparent, not the beginning of the respective // token. // rune-level errors - {"fo\x00o", "invalid NUL character", 2, 1}, - {"foo\n\ufeff bar", "invalid BOM in the middle of the file", 4, 2}, - {"foo\n\n\xff ", "invalid UTF-8 encoding", 5, 3}, + {"fo\x00o", "invalid NUL character", 1, 2}, + {"foo\n\ufeff bar", "invalid BOM in the middle of the file", 2, 0}, + {"foo\n\n\xff ", "invalid UTF-8 encoding", 3, 0}, // token-level errors - {"x + ~y", "bitwise complement operator is ^", 4, 1}, - {"foo$bar = 0", "illegal character U+0024 '$'", 3, 1}, - {"const x = 0xyz", "malformed hex constant", 12, 1}, - {"0123456789", "malformed octal constant", 10, 1}, - {"0123456789. /* foobar", "comment not terminated", 12, 1}, // valid float constant - {"0123456789e0 /*\nfoobar", "comment not terminated", 13, 1}, // valid float constant - {"var a, b = 08, 07\n", "malformed octal constant", 13, 1}, - {"(x + 1.0e+x)", "malformed floating-point constant exponent", 10, 1}, + {"\u00BD" /* ½ */, "invalid identifier character U+00BD '½'", 1, 0}, + {"\U0001d736\U0001d737\U0001d738_½" /* 𝜶𝜷𝜸_½ */, "invalid identifier character U+00BD '½'", 1, 13 /* byte offset */}, + {"\U0001d7d8" /* 𝟘 */, "identifier cannot begin with digit U+1D7D8 '𝟘'", 1, 0}, + {"foo\U0001d7d8_½" /* foo𝟘_½ */, "invalid identifier character U+00BD '½'", 1, 8 /* byte offset */}, + + {"x + ~y", "bitwise complement operator is ^", 1, 4}, + {"foo$bar = 0", "invalid character U+0024 '$'", 1, 3}, + {"const x = 0xyz", "malformed hex constant", 1, 12}, + {"0123456789", "malformed octal constant", 1, 10}, + {"0123456789. /* foobar", "comment not terminated", 1, 12}, // valid float constant + {"0123456789e0 /*\nfoobar", "comment not terminated", 1, 13}, // valid float constant + {"var a, b = 08, 07\n", "malformed octal constant", 1, 13}, + {"(x + 1.0e+x)", "malformed floating-point constant exponent", 1, 10}, {`''`, "empty character literal or unescaped ' in character literal", 1, 1}, {"'\n", "newline in character literal", 1, 1}, - {`'\`, "missing '", 2, 1}, - {`'\'`, "missing '", 3, 1}, - {`'\x`, "missing '", 3, 1}, - {`'\x'`, "non-hex character in escape sequence: '", 3, 1}, - {`'\y'`, "unknown escape sequence", 2, 1}, - {`'\x0'`, "non-hex character in escape sequence: '", 4, 1}, - {`'\00'`, "non-octal character in escape sequence: '", 4, 1}, - {`'\377' /*`, "comment not terminated", 7, 1}, // valid octal escape - {`'\378`, "non-octal character in escape sequence: 8", 4, 1}, - {`'\400'`, "octal escape value > 255: 256", 5, 1}, - {`'xx`, "missing '", 2, 1}, + {`'\`, "missing '", 1, 2}, + {`'\'`, "missing '", 1, 3}, + {`'\x`, "missing '", 1, 3}, + {`'\x'`, "non-hex character in escape sequence: '", 1, 3}, + {`'\y'`, "unknown escape sequence", 1, 2}, + {`'\x0'`, "non-hex character in escape sequence: '", 1, 4}, + {`'\00'`, "non-octal character in escape sequence: '", 1, 4}, + {`'\377' /*`, "comment not terminated", 1, 7}, // valid octal escape + {`'\378`, "non-octal character in escape sequence: 8", 1, 4}, + {`'\400'`, "octal escape value > 255: 256", 1, 5}, + {`'xx`, "missing '", 1, 2}, {"\"\n", "newline in string", 1, 1}, - {`"`, "string not terminated", 0, 1}, - {`"foo`, "string not terminated", 0, 1}, - {"`", "string not terminated", 0, 1}, - {"`foo", "string not terminated", 0, 1}, - {"/*/", "comment not terminated", 0, 1}, - {"/*\n\nfoo", "comment not terminated", 0, 1}, - {"/*\n\nfoo", "comment not terminated", 0, 1}, - {`"\`, "string not terminated", 0, 1}, - {`"\"`, "string not terminated", 0, 1}, - {`"\x`, "string not terminated", 0, 1}, - {`"\x"`, "non-hex character in escape sequence: \"", 3, 1}, - {`"\y"`, "unknown escape sequence", 2, 1}, - {`"\x0"`, "non-hex character in escape sequence: \"", 4, 1}, - {`"\00"`, "non-octal character in escape sequence: \"", 4, 1}, - {`"\377" /*`, "comment not terminated", 7, 1}, // valid octal escape - {`"\378"`, "non-octal character in escape sequence: 8", 4, 1}, - {`"\400"`, "octal escape value > 255: 256", 5, 1}, - - {`s := "foo\z"`, "unknown escape sequence", 10, 1}, - {`s := "foo\z00\nbar"`, "unknown escape sequence", 10, 1}, - {`"\x`, "string not terminated", 0, 1}, - {`"\x"`, "non-hex character in escape sequence: \"", 3, 1}, - {`var s string = "\x"`, "non-hex character in escape sequence: \"", 18, 1}, - {`return "\Uffffffff"`, "escape sequence is invalid Unicode code point", 18, 1}, + {`"`, "string not terminated", 1, 0}, + {`"foo`, "string not terminated", 1, 0}, + {"`", "string not terminated", 1, 0}, + {"`foo", "string not terminated", 1, 0}, + {"/*/", "comment not terminated", 1, 0}, + {"/*\n\nfoo", "comment not terminated", 1, 0}, + {"/*\n\nfoo", "comment not terminated", 1, 0}, + {`"\`, "string not terminated", 1, 0}, + {`"\"`, "string not terminated", 1, 0}, + {`"\x`, "string not terminated", 1, 0}, + {`"\x"`, "non-hex character in escape sequence: \"", 1, 3}, + {`"\y"`, "unknown escape sequence", 1, 2}, + {`"\x0"`, "non-hex character in escape sequence: \"", 1, 4}, + {`"\00"`, "non-octal character in escape sequence: \"", 1, 4}, + {`"\377" /*`, "comment not terminated", 1, 7}, // valid octal escape + {`"\378"`, "non-octal character in escape sequence: 8", 1, 4}, + {`"\400"`, "octal escape value > 255: 256", 1, 5}, + + {`s := "foo\z"`, "unknown escape sequence", 1, 10}, + {`s := "foo\z00\nbar"`, "unknown escape sequence", 1, 10}, + {`"\x`, "string not terminated", 1, 0}, + {`"\x"`, "non-hex character in escape sequence: \"", 1, 3}, + {`var s string = "\x"`, "non-hex character in escape sequence: \"", 1, 18}, + {`return "\Uffffffff"`, "escape sequence is invalid Unicode code point", 1, 18}, // former problem cases - {"package p\n\n\xef", "invalid UTF-8 encoding", 11, 3}, + {"package p\n\n\xef", "invalid UTF-8 encoding", 3, 0}, } { var s scanner nerrors := 0 - s.init(&bytesReader{[]byte(test.src)}, func(err error) { + s.init(&bytesReader{[]byte(test.src)}, func(line, col uint, msg string) { nerrors++ // only check the first error - e := err.(Error) // we know it's an Error if nerrors == 1 { - if e.Msg != test.msg { - t.Errorf("%q: got msg = %q; want %q", test.src, e.Msg, test.msg) + if msg != test.msg { + t.Errorf("%q: got msg = %q; want %q", test.src, msg, test.msg) } - if e.Pos != test.pos { - t.Errorf("%q: got pos = %d; want %d", test.src, e.Pos, test.pos) + if line != test.line { + t.Errorf("%q: got line = %d; want %d", test.src, line, test.line) } - if e.Line != test.line { - t.Errorf("%q: got line = %d; want %d", test.src, e.Line, test.line) + if col != test.col { + t.Errorf("%q: got col = %d; want %d", test.src, col, test.col) } } else if nerrors > 1 { - t.Errorf("%q: got unexpected %q at pos = %d, line = %d", test.src, e.Msg, e.Pos, e.Line) + // TODO(gri) make this use position info + t.Errorf("%q: got unexpected %q at line = %d", test.src, msg, line) } }, nil) diff --git a/src/cmd/compile/internal/syntax/source.go b/src/cmd/compile/internal/syntax/source.go index 05a11960c6..4ce35a3615 100644 --- a/src/cmd/compile/internal/syntax/source.go +++ b/src/cmd/compile/internal/syntax/source.go @@ -2,6 +2,15 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// This file implements source, a buffered rune reader +// which is specialized for the needs of the Go scanner: +// Contiguous sequences of runes (literals) are extracted +// directly as []byte without the need to re-encode the +// runes in UTF-8 (as would be necessary with bufio.Reader). +// +// This file is self-contained (go tool compile source.go +// compiles) and thus could be made into its own package. + package syntax import ( @@ -15,64 +24,69 @@ import ( // suf r0 r w type source struct { - src io.Reader - errh ErrorHandler - first error // first error encountered + src io.Reader + errh func(line, pos uint, msg string) // source buffer buf [4 << 10]byte offs int // source offset of buf r0, r, w int // previous/current read and write buf positions, excluding sentinel - line0, line int // previous/current line - err error // pending io error + line0, line uint // previous/current line + col0, col uint // previous/current column (byte offsets from line start) + ioerr error // pending io error // literal buffer lit []byte // literal prefix suf int // literal suffix; suf >= 0 means we are scanning a literal } -func (s *source) init(src io.Reader, errh ErrorHandler) { +// init initializes source to read from src and to report errors via errh. +// errh must not be nil. +func (s *source) init(src io.Reader, errh func(line, pos uint, msg string)) { s.src = src s.errh = errh - s.first = nil s.buf[0] = utf8.RuneSelf // terminate with sentinel s.offs = 0 s.r0, s.r, s.w = 0, 0, 0 s.line0, s.line = 1, 1 - s.err = nil + s.col0, s.col = 0, 0 + s.ioerr = nil s.lit = s.lit[:0] s.suf = -1 } -func (s *source) error(msg string) { - s.error_at(s.pos0(), s.line0, msg) -} - -func (s *source) error_at(pos, line int, msg string) { - err := Error{pos, line, msg} - if s.first == nil { - s.first = err - } - if s.errh == nil { - panic(s.first) - } - s.errh(err) +// ungetr ungets the most recently read rune. +func (s *source) ungetr() { + s.r, s.line, s.col = s.r0, s.line0, s.col0 } -// pos0 returns the byte position of the last character read. -func (s *source) pos0() int { - return s.offs + s.r0 +// ungetr2 is like ungetr but enables a 2nd ungetr. +// It must not be called if one of the runes seen +// was a newline. +func (s *source) ungetr2() { + s.ungetr() + // line must not have changed + s.r0-- + s.col0-- } -func (s *source) ungetr() { - s.r, s.line = s.r0, s.line0 +func (s *source) error(msg string) { + s.errh(s.line0, s.col0, msg) } +// getr reads and returns the next rune. +// +// If a read or source encoding error occurs, getr +// calls the error handler installed with init. +// The handler must exist. +// +// The (line, col) position passed to the error handler +// is always at the current source reading position. func (s *source) getr() rune { redo: - s.r0, s.line0 = s.r, s.line + s.r0, s.line0, s.col0 = s.r, s.line, s.col // We could avoid at least one test that is always taken in the // for loop below by duplicating the common case code (ASCII) @@ -80,7 +94,7 @@ redo: // in the buffer. Measure and optimize if necessary. // make sure we have at least one rune in buffer, or we are at EOF - for s.r+utf8.UTFMax > s.w && !utf8.FullRune(s.buf[s.r:s.w]) && s.err == nil && s.w-s.r < len(s.buf) { + for s.r+utf8.UTFMax > s.w && !utf8.FullRune(s.buf[s.r:s.w]) && s.ioerr == nil && s.w-s.r < len(s.buf) { s.fill() // s.w-s.r < len(s.buf) => buffer is not full } @@ -88,20 +102,25 @@ redo: // (invariant: s.buf[s.w] == utf8.RuneSelf) if b := s.buf[s.r]; b < utf8.RuneSelf { s.r++ + // TODO(gri) Optimization: Instead of adjusting s.col for each character, + // remember the line offset instead and then compute the offset as needed + // (which is less often). + s.col++ if b == 0 { s.error("invalid NUL character") goto redo } if b == '\n' { s.line++ + s.col = 0 } return rune(b) } // EOF if s.r == s.w { - if s.err != io.EOF { - s.error(s.err.Error()) + if s.ioerr != io.EOF { + s.error(s.ioerr.Error()) } return -1 } @@ -109,6 +128,7 @@ redo: // uncommon case: not ASCII r, w := utf8.DecodeRune(s.buf[s.r:s.w]) s.r += w + s.col += uint(w) if r == utf8.RuneError && w == 1 { s.error("invalid UTF-8 encoding") @@ -157,13 +177,13 @@ func (s *source) fill() { if n > 0 || err != nil { s.buf[s.w] = utf8.RuneSelf // sentinel if err != nil { - s.err = err + s.ioerr = err } return } } - s.err = io.ErrNoProgress + s.ioerr = io.ErrNoProgress } func (s *source) startLit() { diff --git a/src/cmd/compile/internal/syntax/syntax.go b/src/cmd/compile/internal/syntax/syntax.go index b1e56ee946..db2bcb4a0c 100644 --- a/src/cmd/compile/internal/syntax/syntax.go +++ b/src/cmd/compile/internal/syntax/syntax.go @@ -5,6 +5,7 @@ package syntax import ( + "cmd/internal/src" "fmt" "io" "os" @@ -15,14 +16,12 @@ type Mode uint // Error describes a syntax error. Error implements the error interface. type Error struct { - // TODO(gri) decide what we really need here - Pos int // byte offset from file start - Line int // line (starting with 1) - Msg string + Pos src.Pos + Msg string } func (err Error) Error() string { - return fmt.Sprintf("%d: %s", err.Line, err.Msg) + return fmt.Sprintf("%s: %s", err.Pos, err.Msg) } var _ error = Error{} // verify that Error implements error @@ -38,11 +37,11 @@ type Pragma uint16 // A PragmaHandler is used to process //line and //go: directives as // they're scanned. The returned Pragma value will be unioned into the // next FuncDecl node. -type PragmaHandler func(pos, line int, text string) Pragma +type PragmaHandler func(pos src.Pos, text string) Pragma // Parse parses a single Go source file from src and returns the corresponding -// syntax tree. If there are syntax errors, Parse will return the first error -// encountered. +// syntax tree. If there are errors, Parse will return the first error found. +// The base argument is only used for position information. // // If errh != nil, it is called with each error encountered, and Parse will // process as much source as possible. If errh is nil, Parse will terminate @@ -51,11 +50,11 @@ type PragmaHandler func(pos, line int, text string) Pragma // If a PragmaHandler is provided, it is called with each pragma encountered. // // The Mode argument is currently ignored. -func Parse(src io.Reader, errh ErrorHandler, pragh PragmaHandler, mode Mode) (_ *File, err error) { +func Parse(base *src.PosBase, src io.Reader, errh ErrorHandler, pragh PragmaHandler, mode Mode) (_ *File, first error) { defer func() { if p := recover(); p != nil { - var ok bool - if err, ok = p.(Error); ok { + if err, ok := p.(Error); ok { + first = err return } panic(p) @@ -63,14 +62,14 @@ func Parse(src io.Reader, errh ErrorHandler, pragh PragmaHandler, mode Mode) (_ }() var p parser - p.init(src, errh, pragh) + p.init(base, src, errh, pragh) p.next() return p.file(), p.first } // ParseBytes behaves like Parse but it reads the source from the []byte slice provided. -func ParseBytes(src []byte, errh ErrorHandler, pragh PragmaHandler, mode Mode) (*File, error) { - return Parse(&bytesReader{src}, errh, pragh, mode) +func ParseBytes(base *src.PosBase, src []byte, errh ErrorHandler, pragh PragmaHandler, mode Mode) (*File, error) { + return Parse(base, &bytesReader{src}, errh, pragh, mode) } type bytesReader struct { @@ -88,13 +87,13 @@ func (r *bytesReader) Read(p []byte) (int, error) { // ParseFile behaves like Parse but it reads the source from the named file. func ParseFile(filename string, errh ErrorHandler, pragh PragmaHandler, mode Mode) (*File, error) { - src, err := os.Open(filename) + f, err := os.Open(filename) if err != nil { if errh != nil { errh(err) } return nil, err } - defer src.Close() - return Parse(src, errh, pragh, mode) + defer f.Close() + return Parse(src.NewFileBase(filename, filename), f, errh, pragh, mode) } diff --git a/src/cmd/compile/internal/x86/ssa.go b/src/cmd/compile/internal/x86/ssa.go index 21be63426a..379a0f7498 100644 --- a/src/cmd/compile/internal/x86/ssa.go +++ b/src/cmd/compile/internal/x86/ssa.go @@ -114,7 +114,7 @@ func opregreg(op obj.As, dest, src int16) *obj.Prog { } func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { - s.SetLineno(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 > 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.SetLineno(b.Line) + s.SetPos(b.Pos) if gc.Thearch.Use387 { // Empty the 387's FP stack before the block ends. |