aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2017-02-01 09:35:27 -0500
committerRuss Cox <rsc@golang.org>2017-02-01 09:47:23 -0500
commit47ce87877b1e2d4f34bb93fe6c7d88785b318cd5 (patch)
treec1ae026247c210cad5f4d3614f7763ddc103cea3 /src/cmd/compile
parentc47df7ae171b1470f8304c6759caf68f3f37ea90 (diff)
parentec63158d7104ab6eb3765f7d4ea48744f97d9ff9 (diff)
downloadgo-47ce87877b1e2d4f34bb93fe6c7d88785b318cd5.tar.gz
go-47ce87877b1e2d4f34bb93fe6c7d88785b318cd5.zip
all: merge dev.inline into master
Change-Id: I7715581a04e513dcda9918e853fa6b1ddc703770
Diffstat (limited to 'src/cmd/compile')
-rw-r--r--src/cmd/compile/fmt_test.go3
-rw-r--r--src/cmd/compile/internal/amd64/ssa.go8
-rw-r--r--src/cmd/compile/internal/arm/ssa.go8
-rw-r--r--src/cmd/compile/internal/arm64/ssa.go8
-rw-r--r--src/cmd/compile/internal/gc/alg.go4
-rw-r--r--src/cmd/compile/internal/gc/align.go4
-rw-r--r--src/cmd/compile/internal/gc/asm_test.go2
-rw-r--r--src/cmd/compile/internal/gc/bexport.go6
-rw-r--r--src/cmd/compile/internal/gc/closure.go14
-rw-r--r--src/cmd/compile/internal/gc/const.go7
-rw-r--r--src/cmd/compile/internal/gc/dcl.go38
-rw-r--r--src/cmd/compile/internal/gc/esc.go54
-rw-r--r--src/cmd/compile/internal/gc/fmt.go4
-rw-r--r--src/cmd/compile/internal/gc/gen.go2
-rw-r--r--src/cmd/compile/internal/gc/go.go11
-rw-r--r--src/cmd/compile/internal/gc/gsubr.go8
-rw-r--r--src/cmd/compile/internal/gc/init.go3
-rw-r--r--src/cmd/compile/internal/gc/inl.go15
-rw-r--r--src/cmd/compile/internal/gc/lex.go42
-rw-r--r--src/cmd/compile/internal/gc/main.go125
-rw-r--r--src/cmd/compile/internal/gc/noder.go193
-rw-r--r--src/cmd/compile/internal/gc/order.go3
-rw-r--r--src/cmd/compile/internal/gc/pgen.go3
-rw-r--r--src/cmd/compile/internal/gc/phi.go7
-rw-r--r--src/cmd/compile/internal/gc/plive.go6
-rw-r--r--src/cmd/compile/internal/gc/racewalk.go3
-rw-r--r--src/cmd/compile/internal/gc/sinit.go4
-rw-r--r--src/cmd/compile/internal/gc/sizeof_test.go10
-rw-r--r--src/cmd/compile/internal/gc/ssa.go198
-rw-r--r--src/cmd/compile/internal/gc/subr.go135
-rw-r--r--src/cmd/compile/internal/gc/swt.go2
-rw-r--r--src/cmd/compile/internal/gc/syntax.go23
-rw-r--r--src/cmd/compile/internal/gc/type.go17
-rw-r--r--src/cmd/compile/internal/gc/typecheck.go17
-rw-r--r--src/cmd/compile/internal/gc/util.go2
-rw-r--r--src/cmd/compile/internal/gc/walk.go10
-rw-r--r--src/cmd/compile/internal/mips/ssa.go8
-rw-r--r--src/cmd/compile/internal/mips64/ssa.go8
-rw-r--r--src/cmd/compile/internal/ppc64/ssa.go8
-rw-r--r--src/cmd/compile/internal/s390x/ssa.go8
-rw-r--r--src/cmd/compile/internal/ssa/block.go9
-rw-r--r--src/cmd/compile/internal/ssa/checkbce.go2
-rw-r--r--src/cmd/compile/internal/ssa/compile.go3
-rw-r--r--src/cmd/compile/internal/ssa/config.go29
-rw-r--r--src/cmd/compile/internal/ssa/critical.go8
-rw-r--r--src/cmd/compile/internal/ssa/deadstore.go4
-rw-r--r--src/cmd/compile/internal/ssa/decompose.go78
-rw-r--r--src/cmd/compile/internal/ssa/export_test.go7
-rw-r--r--src/cmd/compile/internal/ssa/func.go111
-rw-r--r--src/cmd/compile/internal/ssa/func_test.go11
-rw-r--r--src/cmd/compile/internal/ssa/gen/generic.rules4
-rw-r--r--src/cmd/compile/internal/ssa/gen/rulegen.go2
-rw-r--r--src/cmd/compile/internal/ssa/html.go7
-rw-r--r--src/cmd/compile/internal/ssa/likelyadjust.go6
-rw-r--r--src/cmd/compile/internal/ssa/loopbce.go10
-rw-r--r--src/cmd/compile/internal/ssa/loopreschedchecks.go20
-rw-r--r--src/cmd/compile/internal/ssa/nilcheck.go8
-rw-r--r--src/cmd/compile/internal/ssa/phielim.go2
-rw-r--r--src/cmd/compile/internal/ssa/phiopt.go10
-rw-r--r--src/cmd/compile/internal/ssa/print.go2
-rw-r--r--src/cmd/compile/internal/ssa/prove.go24
-rw-r--r--src/cmd/compile/internal/ssa/regalloc.go141
-rw-r--r--src/cmd/compile/internal/ssa/rewrite.go2
-rw-r--r--src/cmd/compile/internal/ssa/rewrite386.go456
-rw-r--r--src/cmd/compile/internal/ssa/rewriteAMD64.go774
-rw-r--r--src/cmd/compile/internal/ssa/rewriteARM.go812
-rw-r--r--src/cmd/compile/internal/ssa/rewriteARM64.go1064
-rw-r--r--src/cmd/compile/internal/ssa/rewriteMIPS.go824
-rw-r--r--src/cmd/compile/internal/ssa/rewriteMIPS64.go1202
-rw-r--r--src/cmd/compile/internal/ssa/rewritePPC64.go886
-rw-r--r--src/cmd/compile/internal/ssa/rewriteS390X.go1122
-rw-r--r--src/cmd/compile/internal/ssa/rewritedec.go58
-rw-r--r--src/cmd/compile/internal/ssa/rewritedec64.go692
-rw-r--r--src/cmd/compile/internal/ssa/rewritegeneric.go486
-rw-r--r--src/cmd/compile/internal/ssa/schedule.go4
-rw-r--r--src/cmd/compile/internal/ssa/shortcircuit.go4
-rw-r--r--src/cmd/compile/internal/ssa/sizeof_test.go4
-rw-r--r--src/cmd/compile/internal/ssa/sparsemap.go8
-rw-r--r--src/cmd/compile/internal/ssa/stackalloc.go7
-rw-r--r--src/cmd/compile/internal/ssa/value.go9
-rw-r--r--src/cmd/compile/internal/ssa/writebarrier.go55
-rw-r--r--src/cmd/compile/internal/syntax/dumper_test.go2
-rw-r--r--src/cmd/compile/internal/syntax/nodes.go29
-rw-r--r--src/cmd/compile/internal/syntax/parser.go109
-rw-r--r--src/cmd/compile/internal/syntax/parser_test.go57
-rw-r--r--src/cmd/compile/internal/syntax/printer_test.go4
-rw-r--r--src/cmd/compile/internal/syntax/scanner.go139
-rw-r--r--src/cmd/compile/internal/syntax/scanner_test.go121
-rw-r--r--src/cmd/compile/internal/syntax/source.go84
-rw-r--r--src/cmd/compile/internal/syntax/syntax.go33
-rw-r--r--src/cmd/compile/internal/x86/ssa.go8
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.