[dev.ssa] src/cmd/compile/internal/ssa/gen: detect type earlier when generating rules.
Removes approx. one assignment per rule.
Change-Id: Ie9f0a7082ae12c4447ff6b4d40678cd92bdbb6f2
Reviewed-on: https://go-review.googlesource.com/19194
Reviewed-by: Keith Randall <khr@golang.org>
diff --git a/src/cmd/compile/internal/ssa/gen/rulegen.go b/src/cmd/compile/internal/ssa/gen/rulegen.go
index 91fdff0..8d6d008 100644
--- a/src/cmd/compile/internal/ssa/gen/rulegen.go
+++ b/src/cmd/compile/internal/ssa/gen/rulegen.go
@@ -446,19 +446,52 @@
}
s := split(result[1 : len(result)-1]) // remove parens, then split
+
+ // Find the type of the variable.
+ var opType string
+ var typeOverride bool
+ for _, a := range s[1:] {
+ if a[0] == '<' {
+ // type restriction
+ opType = a[1 : len(a)-1] // remove <>
+ typeOverride = true
+ break
+ }
+ }
+ if opType == "" {
+ // find default type, if any
+ for _, op := range arch.ops {
+ if op.name == s[0] && op.typ != "" {
+ opType = typeName(op.typ)
+ break
+ }
+ }
+ }
+ if opType == "" {
+ for _, op := range genericOps {
+ if op.name == s[0] && op.typ != "" {
+ opType = typeName(op.typ)
+ break
+ }
+ }
+ }
var v string
- var hasType bool
if top && loc == "b" {
v = "v"
+ if typeOverride {
+ fmt.Fprintf(w, "v.Type = %s\n", opType)
+ }
fmt.Fprintf(w, "v.Op = %s\n", opName(s[0], arch))
fmt.Fprintf(w, "v.AuxInt = 0\n")
fmt.Fprintf(w, "v.Aux = nil\n")
fmt.Fprintf(w, "v.resetArgs()\n")
- hasType = true
} else {
+ if opType == "" {
+ log.Fatalf("sub-expression %s (op=%s) must have a type", result, s[0])
+ }
v = fmt.Sprintf("v%d", *alloc)
*alloc++
- fmt.Fprintf(w, "%s := %s.NewValue0(v.Line, %s, TypeInvalid)\n", v, loc, opName(s[0], arch))
+ fmt.Fprintf(w, "%s := %s.NewValue0(v.Line, %s, %s)\n", v, loc, opName(s[0], arch), opType)
if top {
// Rewrite original into a copy
fmt.Fprintf(w, "v.Op = OpCopy\n")
@@ -470,10 +503,7 @@
}
for _, a := range s[1:] {
if a[0] == '<' {
- // type restriction
- t := a[1 : len(a)-1] // remove <>
- fmt.Fprintf(w, "%s.Type = %s\n", v, t)
- hasType = true
+ // type restriction, handled above
} else if a[0] == '[' {
// auxint restriction
x := a[1 : len(a)-1] // remove []
@@ -488,26 +518,7 @@
fmt.Fprintf(w, "%s.AddArg(%s)\n", v, x)
}
}
- if !hasType {
- // find default type, if any
- for _, op := range arch.ops {
- if op.name != s[0] || op.typ == "" || hasType {
- continue
- }
- fmt.Fprintf(w, "%s.Type = %s\n", v, typeName(op.typ))
- hasType = true
- }
- for _, op := range genericOps {
- if op.name != s[0] || op.typ == "" || hasType {
- continue
- }
- fmt.Fprintf(w, "%s.Type = %s\n", v, typeName(op.typ))
- hasType = true
- }
- }
- if !hasType {
- log.Fatalf("sub-expression %s (op=%s) must have a type", result, s[0])
- }
+
return v
}
diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go
index 5962794..ed62d3f 100644
--- a/src/cmd/compile/internal/ssa/rewriteAMD64.go
+++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go
@@ -2187,10 +2187,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v0.AddArg(x)
v0.AuxInt = c
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -2412,10 +2411,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v0.AddArg(x)
v0.AuxInt = c
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -2643,10 +2641,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v0.AddArg(x)
v0.AuxInt = c
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -2868,10 +2865,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v0.AddArg(x)
v0.AuxInt = c
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -3332,11 +3328,11 @@
t := v.Type
x := v.Args[0]
mem := v.Args[1]
+ v.Type = t
v.Op = OpAMD64MOVQconvert
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
v.AddArg(mem)
return true
@@ -3757,13 +3753,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpSignExt8to16, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
v0.AddArg(x)
- v0.Type = config.fe.TypeInt16()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpSignExt8to16, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
v1.AddArg(y)
- v1.Type = config.fe.TypeInt16()
v.AddArg(v1)
return true
}
@@ -3785,13 +3779,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpZeroExt8to16, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
v0.AddArg(x)
- v0.Type = config.fe.TypeUInt16()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpZeroExt8to16, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
v1.AddArg(y)
- v1.Type = config.fe.TypeUInt16()
v.AddArg(v1)
return true
}
@@ -3813,10 +3805,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -3838,10 +3829,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -3863,10 +3853,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -3888,10 +3877,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -3913,10 +3901,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -3938,10 +3925,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -3963,10 +3949,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -3988,10 +3973,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4013,10 +3997,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4038,10 +4021,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4063,10 +4045,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4088,10 +4069,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4113,10 +4093,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4138,10 +4117,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4163,10 +4141,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4188,10 +4165,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4213,10 +4189,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4298,10 +4273,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4323,10 +4297,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4348,10 +4321,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4373,10 +4345,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4398,10 +4369,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4423,10 +4393,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4448,10 +4417,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4473,10 +4441,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4498,10 +4465,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4523,10 +4489,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4729,10 +4694,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(idx)
v0.AddArg(len)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4753,10 +4717,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64TESTQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64TESTQ, TypeFlags)
v0.AddArg(p)
v0.AddArg(p)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -4778,10 +4741,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(idx)
v0.AddArg(len)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5116,10 +5078,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5141,10 +5102,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5166,10 +5126,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5191,10 +5150,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
v0.AddArg(y)
v0.AddArg(x)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5216,10 +5174,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5241,10 +5198,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5266,10 +5222,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
v0.AddArg(y)
v0.AddArg(x)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5291,10 +5246,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5316,10 +5270,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5341,10 +5294,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5366,10 +5318,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5391,10 +5342,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5416,10 +5366,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5441,10 +5390,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
v0.AddArg(y)
v0.AddArg(x)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5466,10 +5414,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5491,10 +5438,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5516,10 +5462,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
v0.AddArg(y)
v0.AddArg(x)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5541,10 +5486,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5566,10 +5510,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5591,10 +5534,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -5744,11 +5686,11 @@
t := v.Type
x := v.Args[0]
c := v.AuxInt
+ v.Type = t
v.Op = OpAMD64ROLWconst
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AuxInt = c & 15
v.AddArg(x)
return true
@@ -5768,11 +5710,11 @@
t := v.Type
x := v.Args[0]
c := v.AuxInt
+ v.Type = t
v.Op = OpAMD64ROLLconst
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AuxInt = c & 31
v.AddArg(x)
return true
@@ -5792,11 +5734,11 @@
t := v.Type
x := v.Args[0]
c := v.AuxInt
+ v.Type = t
v.Op = OpAMD64ROLQconst
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AuxInt = c & 63
v.AddArg(x)
return true
@@ -5816,11 +5758,11 @@
t := v.Type
x := v.Args[0]
c := v.AuxInt
+ v.Type = t
v.Op = OpAMD64ROLBconst
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AuxInt = c & 7
v.AddArg(x)
return true
@@ -5844,17 +5786,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLW, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 16
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -5878,17 +5817,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLW, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 16
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -5912,17 +5848,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLW, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 16
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -5946,17 +5879,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLW, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLW, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 16
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -5980,17 +5910,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 32
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6014,17 +5941,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 32
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6048,17 +5972,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 32
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6082,17 +6003,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLL, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLL, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 32
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6116,17 +6034,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLQ, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 64
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6150,17 +6065,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLQ, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 64
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6184,17 +6096,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLQ, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 64
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6218,17 +6127,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLQ, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLQ, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 64
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6252,17 +6158,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLB, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 8
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6286,17 +6189,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLB, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 8
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6320,17 +6220,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLB, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 8
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6354,17 +6251,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHLB, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHLB, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 8
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -6388,13 +6282,12 @@
sym := v.Args[0].Aux
ptr := v.Args[0].Args[0]
mem := v.Args[0].Args[1]
- v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVBQSXload, TypeInvalid)
+ v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVBQSXload, v.Type)
v.Op = OpCopy
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
v.AddArg(v0)
- v0.Type = v.Type
v0.AuxInt = off
v0.Aux = sym
v0.AddArg(ptr)
@@ -6443,13 +6336,12 @@
sym := v.Args[0].Aux
ptr := v.Args[0].Args[0]
mem := v.Args[0].Args[1]
- v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVBQZXload, TypeInvalid)
+ v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVBQZXload, v.Type)
v.Op = OpCopy
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
v.AddArg(v0)
- v0.Type = v.Type
v0.AuxInt = off
v0.Aux = sym
v0.AddArg(ptr)
@@ -6854,13 +6746,12 @@
sym := v.Args[0].Aux
ptr := v.Args[0].Args[0]
mem := v.Args[0].Args[1]
- v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVLQSXload, TypeInvalid)
+ v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVLQSXload, v.Type)
v.Op = OpCopy
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
v.AddArg(v0)
- v0.Type = v.Type
v0.AuxInt = off
v0.Aux = sym
v0.AddArg(ptr)
@@ -6909,13 +6800,12 @@
sym := v.Args[0].Aux
ptr := v.Args[0].Args[0]
mem := v.Args[0].Args[1]
- v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVLQZXload, TypeInvalid)
+ v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVLQZXload, v.Type)
v.Op = OpCopy
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
v.AddArg(v0)
- v0.Type = v.Type
v0.AuxInt = off
v0.Aux = sym
v0.AddArg(ptr)
@@ -8272,13 +8162,12 @@
sym := v.Args[0].Aux
ptr := v.Args[0].Args[0]
mem := v.Args[0].Args[1]
- v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVWQSXload, TypeInvalid)
+ v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVWQSXload, v.Type)
v.Op = OpCopy
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
v.AddArg(v0)
- v0.Type = v.Type
v0.AuxInt = off
v0.Aux = sym
v0.AddArg(ptr)
@@ -8327,13 +8216,12 @@
sym := v.Args[0].Aux
ptr := v.Args[0].Args[0]
mem := v.Args[0].Args[1]
- v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVWQZXload, TypeInvalid)
+ v0 := v.Args[0].Block.NewValue0(v.Line, OpAMD64MOVWQZXload, v.Type)
v.Op = OpCopy
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
v.AddArg(v0)
- v0.Type = v.Type
v0.AuxInt = off
v0.Aux = sym
v0.AddArg(ptr)
@@ -9254,13 +9142,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpSignExt8to16, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
v0.AddArg(x)
- v0.Type = config.fe.TypeInt16()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpSignExt8to16, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpSignExt8to16, config.fe.TypeInt16())
v1.AddArg(y)
- v1.Type = config.fe.TypeInt16()
v.AddArg(v1)
return true
}
@@ -9282,13 +9168,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpZeroExt8to16, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
v0.AddArg(x)
- v0.Type = config.fe.TypeUInt16()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpZeroExt8to16, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpZeroExt8to16, config.fe.TypeUInt16())
v1.AddArg(y)
- v1.Type = config.fe.TypeUInt16()
v.AddArg(v1)
return true
}
@@ -9334,10 +9218,9 @@
v.Aux = nil
v.resetArgs()
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVBload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVBload, config.fe.TypeUInt8())
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = config.fe.TypeUInt8()
v.AddArg(v0)
v.AddArg(mem)
return true
@@ -9360,10 +9243,9 @@
v.Aux = nil
v.resetArgs()
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVWload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVWload, config.fe.TypeUInt16())
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = config.fe.TypeUInt16()
v.AddArg(v0)
v.AddArg(mem)
return true
@@ -9386,10 +9268,9 @@
v.Aux = nil
v.resetArgs()
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVLload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = config.fe.TypeUInt32()
v.AddArg(v0)
v.AddArg(mem)
return true
@@ -9412,10 +9293,9 @@
v.Aux = nil
v.resetArgs()
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVQload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = config.fe.TypeUInt64()
v.AddArg(v0)
v.AddArg(mem)
return true
@@ -9438,10 +9318,9 @@
v.Aux = nil
v.resetArgs()
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVOload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVOload, TypeInt128)
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = TypeInt128
v.AddArg(v0)
v.AddArg(mem)
return true
@@ -9465,21 +9344,18 @@
v.resetArgs()
v.AuxInt = 2
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVBload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVBload, config.fe.TypeUInt8())
v0.AuxInt = 2
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = config.fe.TypeUInt8()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64MOVWstore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVWstore, TypeMem)
v1.AddArg(dst)
- v2 := b.NewValue0(v.Line, OpAMD64MOVWload, TypeInvalid)
+ v2 := b.NewValue0(v.Line, OpAMD64MOVWload, config.fe.TypeUInt16())
v2.AddArg(src)
v2.AddArg(mem)
- v2.Type = config.fe.TypeUInt16()
v1.AddArg(v2)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -9502,21 +9378,18 @@
v.resetArgs()
v.AuxInt = 4
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVBload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVBload, config.fe.TypeUInt8())
v0.AuxInt = 4
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = config.fe.TypeUInt8()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64MOVLstore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVLstore, TypeMem)
v1.AddArg(dst)
- v2 := b.NewValue0(v.Line, OpAMD64MOVLload, TypeInvalid)
+ v2 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
v2.AddArg(src)
v2.AddArg(mem)
- v2.Type = config.fe.TypeUInt32()
v1.AddArg(v2)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -9539,21 +9412,18 @@
v.resetArgs()
v.AuxInt = 4
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVWload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVWload, config.fe.TypeUInt16())
v0.AuxInt = 4
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = config.fe.TypeUInt16()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64MOVLstore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVLstore, TypeMem)
v1.AddArg(dst)
- v2 := b.NewValue0(v.Line, OpAMD64MOVLload, TypeInvalid)
+ v2 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
v2.AddArg(src)
v2.AddArg(mem)
- v2.Type = config.fe.TypeUInt32()
v1.AddArg(v2)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -9576,21 +9446,18 @@
v.resetArgs()
v.AuxInt = 3
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVLload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
v0.AuxInt = 3
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = config.fe.TypeUInt32()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64MOVLstore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVLstore, TypeMem)
v1.AddArg(dst)
- v2 := b.NewValue0(v.Line, OpAMD64MOVLload, TypeInvalid)
+ v2 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
v2.AddArg(src)
v2.AddArg(mem)
- v2.Type = config.fe.TypeUInt32()
v1.AddArg(v2)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -9614,21 +9481,18 @@
v.resetArgs()
v.AuxInt = size - 8
v.AddArg(dst)
- v0 := b.NewValue0(v.Line, OpAMD64MOVQload, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
v0.AuxInt = size - 8
v0.AddArg(src)
v0.AddArg(mem)
- v0.Type = config.fe.TypeUInt64()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64MOVQstore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVQstore, TypeMem)
v1.AddArg(dst)
- v2 := b.NewValue0(v.Line, OpAMD64MOVQload, TypeInvalid)
+ v2 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
v2.AddArg(src)
v2.AddArg(mem)
- v2.Type = config.fe.TypeUInt64()
v1.AddArg(v2)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -9651,25 +9515,21 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = size - size%16
- v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, TypeInvalid)
- v0.Type = dst.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, dst.Type)
v0.AddArg(dst)
v0.AuxInt = size % 16
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64ADDQconst, TypeInvalid)
- v1.Type = src.Type
+ v1 := b.NewValue0(v.Line, OpAMD64ADDQconst, src.Type)
v1.AddArg(src)
v1.AuxInt = size % 16
v.AddArg(v1)
- v2 := b.NewValue0(v.Line, OpAMD64MOVQstore, TypeInvalid)
+ v2 := b.NewValue0(v.Line, OpAMD64MOVQstore, TypeMem)
v2.AddArg(dst)
- v3 := b.NewValue0(v.Line, OpAMD64MOVQload, TypeInvalid)
+ v3 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
v3.AddArg(src)
v3.AddArg(mem)
- v3.Type = config.fe.TypeUInt64()
v2.AddArg(v3)
v2.AddArg(mem)
- v2.Type = TypeMem
v.AddArg(v2)
return true
}
@@ -9692,25 +9552,21 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = size - size%16
- v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, TypeInvalid)
- v0.Type = dst.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, dst.Type)
v0.AddArg(dst)
v0.AuxInt = size % 16
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64ADDQconst, TypeInvalid)
- v1.Type = src.Type
+ v1 := b.NewValue0(v.Line, OpAMD64ADDQconst, src.Type)
v1.AddArg(src)
v1.AuxInt = size % 16
v.AddArg(v1)
- v2 := b.NewValue0(v.Line, OpAMD64MOVOstore, TypeInvalid)
+ v2 := b.NewValue0(v.Line, OpAMD64MOVOstore, TypeMem)
v2.AddArg(dst)
- v3 := b.NewValue0(v.Line, OpAMD64MOVOload, TypeInvalid)
+ v3 := b.NewValue0(v.Line, OpAMD64MOVOload, TypeInt128)
v3.AddArg(src)
v3.AddArg(mem)
- v3.Type = TypeInt128
v2.AddArg(v3)
v2.AddArg(mem)
- v2.Type = TypeMem
v.AddArg(v2)
return true
}
@@ -9758,9 +9614,8 @@
v.resetArgs()
v.AddArg(dst)
v.AddArg(src)
- v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
v0.AuxInt = size / 8
- v0.Type = config.fe.TypeUInt64()
v.AddArg(v0)
v.AddArg(mem)
return true
@@ -10139,8 +9994,7 @@
v.Aux = nil
v.resetArgs()
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64MOVSSconst, TypeInvalid)
- v0.Type = config.Frontend().TypeFloat32()
+ v0 := b.NewValue0(v.Line, OpAMD64MOVSSconst, config.Frontend().TypeFloat32())
v0.AuxInt = f2i(math.Copysign(0, -1))
v.AddArg(v0)
return true
@@ -10183,8 +10037,7 @@
v.Aux = nil
v.resetArgs()
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64MOVSDconst, TypeInvalid)
- v0.Type = config.Frontend().TypeFloat64()
+ v0 := b.NewValue0(v.Line, OpAMD64MOVSDconst, config.Frontend().TypeFloat64())
v0.AuxInt = f2i(math.Copysign(0, -1))
v.AddArg(v0)
return true
@@ -10227,10 +10080,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPW, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -10252,10 +10104,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPL, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -10277,10 +10128,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISS, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -10302,10 +10152,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -10327,10 +10176,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64UCOMISD, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -10352,10 +10200,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPB, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -10377,10 +10224,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64CMPQ, TypeFlags)
v0.AddArg(x)
v0.AddArg(y)
- v0.Type = TypeFlags
v.AddArg(v0)
return true
}
@@ -11064,17 +10910,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRW, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 16
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11098,17 +10941,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRW, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 16
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11132,17 +10972,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRW, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 16
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11166,17 +11003,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRW, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRW, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 16
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11196,23 +11030,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARW
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORW, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORW, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 16
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11234,23 +11064,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARW
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORL, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 16
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11272,23 +11098,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARW
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORQ, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTQ, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 16
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11310,23 +11132,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARW
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORB, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORB, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 16
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11352,17 +11170,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRL, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 32
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11386,17 +11201,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRL, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 32
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11420,17 +11232,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRL, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 32
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11454,17 +11263,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRL, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRL, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 32
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11484,23 +11290,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARL
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORW, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORW, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 32
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11522,23 +11324,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARL
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORL, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 32
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11560,23 +11358,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARL
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORQ, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTQ, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 32
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11598,23 +11392,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARL
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORB, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORB, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 32
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11640,17 +11430,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRQ, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 64
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11674,17 +11461,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRQ, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 64
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11708,17 +11492,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRQ, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 64
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11742,17 +11523,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRQ, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRQ, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 64
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11772,23 +11550,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARQ
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORW, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORW, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 64
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11810,23 +11584,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARQ
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORL, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 64
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11848,23 +11618,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARQ
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORQ, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTQ, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 64
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11886,23 +11652,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARQ
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORB, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORB, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 64
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -11928,17 +11690,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRB, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 8
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11962,17 +11721,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRB, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 8
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -11996,17 +11752,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRB, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 8
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -12030,17 +11783,14 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SHRB, TypeInvalid)
- v0.Type = t
+ v0 := b.NewValue0(v.Line, OpAMD64SHRB, t)
v0.AddArg(x)
v0.AddArg(y)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v1.Type = t
- v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, t)
+ v2 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v2.AddArg(y)
v2.AuxInt = 8
- v2.Type = TypeFlags
v1.AddArg(v2)
v.AddArg(v1)
return true
@@ -12060,23 +11810,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARB
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORW, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORW, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 8
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -12098,23 +11844,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARB
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORL, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORL, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 8
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -12136,23 +11878,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARB
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORQ, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORQ, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTQ, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTQ, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBQcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPQconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 8
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -12174,23 +11912,19 @@
t := v.Type
x := v.Args[0]
y := v.Args[1]
+ v.Type = t
v.Op = OpAMD64SARB
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v.Type = t
v.AddArg(x)
- v0 := b.NewValue0(v.Line, OpAMD64ORB, TypeInvalid)
- v0.Type = y.Type
+ v0 := b.NewValue0(v.Line, OpAMD64ORB, y.Type)
v0.AddArg(y)
- v1 := b.NewValue0(v.Line, OpAMD64NOTL, TypeInvalid)
- v1.Type = y.Type
- v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, TypeInvalid)
- v2.Type = y.Type
- v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64NOTL, y.Type)
+ v2 := b.NewValue0(v.Line, OpAMD64SBBLcarrymask, y.Type)
+ v3 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
v3.AddArg(y)
v3.AuxInt = 8
- v3.Type = TypeFlags
v2.AddArg(v3)
v1.AddArg(v2)
v0.AddArg(v1)
@@ -14614,8 +14348,7 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SUBBconst, TypeInvalid)
- v0.Type = v.Type
+ v0 := b.NewValue0(v.Line, OpAMD64SUBBconst, v.Type)
v0.AddArg(x)
v0.AuxInt = c
v.AddArg(v0)
@@ -14745,8 +14478,7 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SUBLconst, TypeInvalid)
- v0.Type = v.Type
+ v0 := b.NewValue0(v.Line, OpAMD64SUBLconst, v.Type)
v0.AddArg(x)
v0.AuxInt = c
v.AddArg(v0)
@@ -14882,8 +14614,7 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SUBQconst, TypeInvalid)
- v0.Type = v.Type
+ v0 := b.NewValue0(v.Line, OpAMD64SUBQconst, v.Type)
v0.AddArg(x)
v0.AuxInt = c
v.AddArg(v0)
@@ -15012,8 +14743,7 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAMD64SUBWconst, TypeInvalid)
- v0.Type = v.Type
+ v0 := b.NewValue0(v.Line, OpAMD64SUBWconst, v.Type)
v0.AddArg(x)
v0.AuxInt = c
v.AddArg(v0)
@@ -16336,11 +16066,10 @@
v.resetArgs()
v.AuxInt = makeValAndOff(0, 2)
v.AddArg(destptr)
- v0 := b.NewValue0(v.Line, OpAMD64MOVWstoreconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVWstoreconst, TypeMem)
v0.AuxInt = 0
v0.AddArg(destptr)
v0.AddArg(mem)
- v0.Type = TypeMem
v.AddArg(v0)
return true
}
@@ -16362,11 +16091,10 @@
v.resetArgs()
v.AuxInt = makeValAndOff(0, 4)
v.AddArg(destptr)
- v0 := b.NewValue0(v.Line, OpAMD64MOVLstoreconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVLstoreconst, TypeMem)
v0.AuxInt = 0
v0.AddArg(destptr)
v0.AddArg(mem)
- v0.Type = TypeMem
v.AddArg(v0)
return true
}
@@ -16388,11 +16116,10 @@
v.resetArgs()
v.AuxInt = makeValAndOff(0, 4)
v.AddArg(destptr)
- v0 := b.NewValue0(v.Line, OpAMD64MOVLstoreconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVLstoreconst, TypeMem)
v0.AuxInt = 0
v0.AddArg(destptr)
v0.AddArg(mem)
- v0.Type = TypeMem
v.AddArg(v0)
return true
}
@@ -16414,11 +16141,10 @@
v.resetArgs()
v.AuxInt = makeValAndOff(0, 3)
v.AddArg(destptr)
- v0 := b.NewValue0(v.Line, OpAMD64MOVLstoreconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVLstoreconst, TypeMem)
v0.AuxInt = 0
v0.AddArg(destptr)
v0.AddArg(mem)
- v0.Type = TypeMem
v.AddArg(v0)
return true
}
@@ -16440,16 +16166,14 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = size - size%8
- v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, config.fe.TypeUInt64())
v0.AddArg(destptr)
v0.AuxInt = size % 8
- v0.Type = config.fe.TypeUInt64()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
v1.AuxInt = 0
v1.AddArg(destptr)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -16471,11 +16195,10 @@
v.resetArgs()
v.AuxInt = makeValAndOff(0, 8)
v.AddArg(destptr)
- v0 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
v0.AuxInt = 0
v0.AddArg(destptr)
v0.AddArg(mem)
- v0.Type = TypeMem
v.AddArg(v0)
return true
}
@@ -16497,16 +16220,14 @@
v.resetArgs()
v.AuxInt = makeValAndOff(0, 16)
v.AddArg(destptr)
- v0 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
v0.AuxInt = makeValAndOff(0, 8)
v0.AddArg(destptr)
- v1 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
v1.AuxInt = 0
v1.AddArg(destptr)
v1.AddArg(mem)
- v1.Type = TypeMem
v0.AddArg(v1)
- v0.Type = TypeMem
v.AddArg(v0)
return true
}
@@ -16528,21 +16249,18 @@
v.resetArgs()
v.AuxInt = makeValAndOff(0, 24)
v.AddArg(destptr)
- v0 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
v0.AuxInt = makeValAndOff(0, 16)
v0.AddArg(destptr)
- v1 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
v1.AuxInt = makeValAndOff(0, 8)
v1.AddArg(destptr)
- v2 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeInvalid)
+ v2 := b.NewValue0(v.Line, OpAMD64MOVQstoreconst, TypeMem)
v2.AuxInt = 0
v2.AddArg(destptr)
v2.AddArg(mem)
- v2.Type = TypeMem
v1.AddArg(v2)
- v1.Type = TypeMem
v0.AddArg(v1)
- v0.Type = TypeMem
v.AddArg(v0)
return true
}
@@ -16564,19 +16282,16 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = size - 8
- v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, config.fe.TypeUInt64())
v0.AuxInt = 8
v0.AddArg(destptr)
- v0.Type = config.fe.TypeUInt64()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64MOVQstore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVQstore, TypeMem)
v1.AddArg(destptr)
- v2 := b.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid)
+ v2 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
v2.AuxInt = 0
- v2.Type = config.fe.TypeUInt64()
v1.AddArg(v2)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -16598,14 +16313,12 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = duffStart(size)
- v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64ADDQconst, config.fe.TypeUInt64())
v0.AuxInt = duffAdj(size)
v0.AddArg(destptr)
- v0.Type = config.fe.TypeUInt64()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64MOVOconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVOconst, TypeInt128)
v1.AuxInt = 0
- v1.Type = TypeInt128
v.AddArg(v1)
v.AddArg(mem)
return true
@@ -16628,13 +16341,11 @@
v.Aux = nil
v.resetArgs()
v.AddArg(destptr)
- v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
v0.AuxInt = size / 8
- v0.Type = config.fe.TypeUInt64()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpAMD64MOVQconst, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpAMD64MOVQconst, config.fe.TypeUInt64())
v1.AuxInt = 0
- v1.Type = config.fe.TypeUInt64()
v.AddArg(v1)
v.AddArg(mem)
return true
@@ -17413,10 +17124,9 @@
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64NE
- v0 := b.NewValue0(v.Line, OpAMD64TESTB, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpAMD64TESTB, TypeFlags)
v0.AddArg(cond)
v0.AddArg(cond)
- v0.Type = TypeFlags
b.Control = v0
b.Succs[0] = yes
b.Succs[1] = no
diff --git a/src/cmd/compile/internal/ssa/rewritegeneric.go b/src/cmd/compile/internal/ssa/rewritegeneric.go
index 60d9f06..b9e4d18 100644
--- a/src/cmd/compile/internal/ssa/rewritegeneric.go
+++ b/src/cmd/compile/internal/ssa/rewritegeneric.go
@@ -528,13 +528,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeBytePtr())
v0.Aux = n
v0.AuxInt = off
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v1.Type = config.fe.TypeInt()
+ v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeInt())
v1.Aux = n
v1.AuxInt = off + config.PtrSize
v.AddArg(v1)
@@ -556,18 +554,15 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeBytePtr())
v0.Aux = n
v0.AuxInt = off
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v1.Type = config.fe.TypeInt()
+ v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeInt())
v1.Aux = n
v1.AuxInt = off + config.PtrSize
v.AddArg(v1)
- v2 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v2.Type = config.fe.TypeInt()
+ v2 := b.NewValue0(v.Line, OpArg, config.fe.TypeInt())
v2.Aux = n
v2.AuxInt = off + 2*config.PtrSize
v.AddArg(v2)
@@ -589,13 +584,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeBytePtr())
v0.Aux = n
v0.AuxInt = off
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v1.Type = config.fe.TypeBytePtr()
+ v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeBytePtr())
v1.Aux = n
v1.AuxInt = off + config.PtrSize
v.AddArg(v1)
@@ -617,13 +610,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v0.Type = config.fe.TypeFloat64()
+ v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeFloat64())
v0.Aux = n
v0.AuxInt = off
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v1.Type = config.fe.TypeFloat64()
+ v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeFloat64())
v1.Aux = n
v1.AuxInt = off + 8
v.AddArg(v1)
@@ -645,13 +636,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v0.Type = config.fe.TypeFloat32()
+ v0 := b.NewValue0(v.Line, OpArg, config.fe.TypeFloat32())
v0.Aux = n
v0.AuxInt = off
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v1.Type = config.fe.TypeFloat32()
+ v1 := b.NewValue0(v.Line, OpArg, config.fe.TypeFloat32())
v1.Aux = n
v1.AuxInt = off + 4
v.AddArg(v1)
@@ -691,8 +680,7 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v0.Type = t.FieldType(0)
+ v0 := b.NewValue0(v.Line, OpArg, t.FieldType(0))
v0.Aux = n
v0.AuxInt = off + t.FieldOff(0)
v.AddArg(v0)
@@ -715,13 +703,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v0.Type = t.FieldType(0)
+ v0 := b.NewValue0(v.Line, OpArg, t.FieldType(0))
v0.Aux = n
v0.AuxInt = off + t.FieldOff(0)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v1.Type = t.FieldType(1)
+ v1 := b.NewValue0(v.Line, OpArg, t.FieldType(1))
v1.Aux = n
v1.AuxInt = off + t.FieldOff(1)
v.AddArg(v1)
@@ -744,18 +730,15 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v0.Type = t.FieldType(0)
+ v0 := b.NewValue0(v.Line, OpArg, t.FieldType(0))
v0.Aux = n
v0.AuxInt = off + t.FieldOff(0)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v1.Type = t.FieldType(1)
+ v1 := b.NewValue0(v.Line, OpArg, t.FieldType(1))
v1.Aux = n
v1.AuxInt = off + t.FieldOff(1)
v.AddArg(v1)
- v2 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v2.Type = t.FieldType(2)
+ v2 := b.NewValue0(v.Line, OpArg, t.FieldType(2))
v2.Aux = n
v2.AuxInt = off + t.FieldOff(2)
v.AddArg(v2)
@@ -778,23 +761,19 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v0.Type = t.FieldType(0)
+ v0 := b.NewValue0(v.Line, OpArg, t.FieldType(0))
v0.Aux = n
v0.AuxInt = off + t.FieldOff(0)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v1.Type = t.FieldType(1)
+ v1 := b.NewValue0(v.Line, OpArg, t.FieldType(1))
v1.Aux = n
v1.AuxInt = off + t.FieldOff(1)
v.AddArg(v1)
- v2 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v2.Type = t.FieldType(2)
+ v2 := b.NewValue0(v.Line, OpArg, t.FieldType(2))
v2.Aux = n
v2.AuxInt = off + t.FieldOff(2)
v.AddArg(v2)
- v3 := b.NewValue0(v.Line, OpArg, TypeInvalid)
- v3.Type = t.FieldType(3)
+ v3 := b.NewValue0(v.Line, OpArg, t.FieldType(3))
v3.Aux = n
v3.AuxInt = off + t.FieldOff(3)
v.AddArg(v3)
@@ -825,8 +804,7 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpPtrIndex, TypeInvalid)
- v0.Type = v.Type.PtrTo()
+ v0 := b.NewValue0(v.Line, OpPtrIndex, v.Type.PtrTo())
v0.AddArg(ptr)
v0.AddArg(idx)
v.AddArg(v0)
@@ -993,11 +971,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpConstNil, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpConstNil, TypeInvalid)
- v1.Type = config.fe.TypeBytePtr()
+ v1 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
v.AddArg(v1)
return true
}
@@ -1020,15 +996,12 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpConstNil, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpConst32, TypeInvalid)
- v1.Type = config.fe.TypeInt()
+ v1 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
v1.AuxInt = 0
v.AddArg(v1)
- v2 := b.NewValue0(v.Line, OpConst32, TypeInvalid)
- v2.Type = config.fe.TypeInt()
+ v2 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
v2.AuxInt = 0
v.AddArg(v2)
return true
@@ -1047,15 +1020,12 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpConstNil, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpConst64, TypeInvalid)
- v1.Type = config.fe.TypeInt()
+ v1 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
v1.AuxInt = 0
v.AddArg(v1)
- v2 := b.NewValue0(v.Line, OpConst64, TypeInvalid)
- v2.Type = config.fe.TypeInt()
+ v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
v2.AuxInt = 0
v.AddArg(v2)
return true
@@ -1080,11 +1050,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpConstNil, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpConst32, TypeInvalid)
- v1.Type = config.fe.TypeInt()
+ v1 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
v1.AuxInt = 0
v.AddArg(v1)
return true
@@ -1104,11 +1072,9 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpConstNil, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpConstNil, config.fe.TypeBytePtr())
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpConst64, TypeInvalid)
- v1.Type = config.fe.TypeInt()
+ v1 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
v1.AuxInt = 0
v.AddArg(v1)
return true
@@ -1128,15 +1094,12 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAddr, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpAddr, config.fe.TypeBytePtr())
v0.Aux = config.fe.StringData(s.(string))
- v1 := b.NewValue0(v.Line, OpSB, TypeInvalid)
- v1.Type = config.fe.TypeUintptr()
+ v1 := b.NewValue0(v.Line, OpSB, config.fe.TypeUintptr())
v0.AddArg(v1)
v.AddArg(v0)
- v2 := b.NewValue0(v.Line, OpConst32, TypeInvalid)
- v2.Type = config.fe.TypeInt()
+ v2 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
v2.AuxInt = int64(len(s.(string)))
v.AddArg(v2)
return true
@@ -1156,15 +1119,12 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpAddr, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpAddr, config.fe.TypeBytePtr())
v0.Aux = config.fe.StringData(s.(string))
- v1 := b.NewValue0(v.Line, OpSB, TypeInvalid)
- v1.Type = config.fe.TypeUintptr()
+ v1 := b.NewValue0(v.Line, OpSB, config.fe.TypeUintptr())
v0.AddArg(v1)
v.AddArg(v0)
- v2 := b.NewValue0(v.Line, OpConst64, TypeInvalid)
- v2.Type = config.fe.TypeInt()
+ v2 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
v2.AuxInt = int64(len(s.(string)))
v.AddArg(v2)
return true
@@ -1666,13 +1626,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpITab, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpITab, config.fe.TypeBytePtr())
v0.AddArg(x)
- v0.Type = config.fe.TypeBytePtr()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpITab, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpITab, config.fe.TypeBytePtr())
v1.AddArg(y)
- v1.Type = config.fe.TypeBytePtr()
v.AddArg(v1)
return true
}
@@ -1696,9 +1654,8 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpIsNonNil, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpIsNonNil, config.fe.TypeBool())
v0.AddArg(p)
- v0.Type = config.fe.TypeBool()
v.AddArg(v0)
return true
}
@@ -1717,9 +1674,8 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpIsNonNil, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpIsNonNil, config.fe.TypeBool())
v0.AddArg(p)
- v0.Type = config.fe.TypeBool()
v.AddArg(v0)
return true
}
@@ -1741,13 +1697,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpSlicePtr, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpSlicePtr, config.fe.TypeBytePtr())
v0.AddArg(x)
- v0.Type = config.fe.TypeBytePtr()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpSlicePtr, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpSlicePtr, config.fe.TypeBytePtr())
v1.AddArg(y)
- v1.Type = config.fe.TypeBytePtr()
v.AddArg(v1)
return true
}
@@ -2800,8 +2754,7 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v0.Type = t.FieldType(0)
+ v0 := b.NewValue0(v.Line, OpLoad, t.FieldType(0))
v0.AddArg(ptr)
v0.AddArg(mem)
v.AddArg(v0)
@@ -2824,15 +2777,12 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v0.Type = t.FieldType(0)
+ v0 := b.NewValue0(v.Line, OpLoad, t.FieldType(0))
v0.AddArg(ptr)
v0.AddArg(mem)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v1.Type = t.FieldType(1)
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = t.FieldType(1).PtrTo()
+ v1 := b.NewValue0(v.Line, OpLoad, t.FieldType(1))
+ v2 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(1).PtrTo())
v2.AuxInt = t.FieldOff(1)
v2.AddArg(ptr)
v1.AddArg(v2)
@@ -2857,24 +2807,19 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v0.Type = t.FieldType(0)
+ v0 := b.NewValue0(v.Line, OpLoad, t.FieldType(0))
v0.AddArg(ptr)
v0.AddArg(mem)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v1.Type = t.FieldType(1)
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = t.FieldType(1).PtrTo()
+ v1 := b.NewValue0(v.Line, OpLoad, t.FieldType(1))
+ v2 := b.NewValue0(v.Line, 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, TypeInvalid)
- v3.Type = t.FieldType(2)
- v4 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v4.Type = t.FieldType(2).PtrTo()
+ v3 := b.NewValue0(v.Line, OpLoad, t.FieldType(2))
+ v4 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(2).PtrTo())
v4.AuxInt = t.FieldOff(2)
v4.AddArg(ptr)
v3.AddArg(v4)
@@ -2899,33 +2844,26 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v0.Type = t.FieldType(0)
+ v0 := b.NewValue0(v.Line, OpLoad, t.FieldType(0))
v0.AddArg(ptr)
v0.AddArg(mem)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v1.Type = t.FieldType(1)
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = t.FieldType(1).PtrTo()
+ v1 := b.NewValue0(v.Line, OpLoad, t.FieldType(1))
+ v2 := b.NewValue0(v.Line, 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, TypeInvalid)
- v3.Type = t.FieldType(2)
- v4 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v4.Type = t.FieldType(2).PtrTo()
+ v3 := b.NewValue0(v.Line, OpLoad, t.FieldType(2))
+ v4 := b.NewValue0(v.Line, 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, TypeInvalid)
- v5.Type = t.FieldType(3)
- v6 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v6.Type = t.FieldType(3).PtrTo()
+ v5 := b.NewValue0(v.Line, OpLoad, t.FieldType(3))
+ v6 := b.NewValue0(v.Line, OpOffPtr, t.FieldType(3).PtrTo())
v6.AuxInt = t.FieldOff(3)
v6.AddArg(ptr)
v5.AddArg(v6)
@@ -2950,15 +2888,12 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v0.Type = config.fe.TypeFloat32()
+ v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeFloat32())
v0.AddArg(ptr)
v0.AddArg(mem)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v1.Type = config.fe.TypeFloat32()
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = config.fe.TypeFloat32().PtrTo()
+ v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeFloat32())
+ v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeFloat32().PtrTo())
v2.AuxInt = 4
v2.AddArg(ptr)
v1.AddArg(v2)
@@ -2983,15 +2918,12 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v0.Type = config.fe.TypeFloat64()
+ v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeFloat64())
v0.AddArg(ptr)
v0.AddArg(mem)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v1.Type = config.fe.TypeFloat64()
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = config.fe.TypeFloat64().PtrTo()
+ v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeFloat64())
+ v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeFloat64().PtrTo())
v2.AuxInt = 8
v2.AddArg(ptr)
v1.AddArg(v2)
@@ -3016,15 +2948,12 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeBytePtr())
v0.AddArg(ptr)
v0.AddArg(mem)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v1.Type = config.fe.TypeInt()
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = config.fe.TypeInt().PtrTo()
+ v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeInt())
+ v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
v2.AuxInt = config.PtrSize
v2.AddArg(ptr)
v1.AddArg(v2)
@@ -3049,24 +2978,19 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeBytePtr())
v0.AddArg(ptr)
v0.AddArg(mem)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v1.Type = config.fe.TypeInt()
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = config.fe.TypeInt().PtrTo()
+ v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeInt())
+ v2 := b.NewValue0(v.Line, 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, TypeInvalid)
- v3.Type = config.fe.TypeInt()
- v4 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v4.Type = config.fe.TypeInt().PtrTo()
+ v3 := b.NewValue0(v.Line, OpLoad, config.fe.TypeInt())
+ v4 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
v4.AuxInt = 2 * config.PtrSize
v4.AddArg(ptr)
v3.AddArg(v4)
@@ -3091,15 +3015,12 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr()
+ v0 := b.NewValue0(v.Line, OpLoad, config.fe.TypeBytePtr())
v0.AddArg(ptr)
v0.AddArg(mem)
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpLoad, TypeInvalid)
- v1.Type = config.fe.TypeBytePtr()
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = config.fe.TypeBytePtr().PtrTo()
+ v1 := b.NewValue0(v.Line, OpLoad, config.fe.TypeBytePtr())
+ v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeBytePtr().PtrTo())
v2.AuxInt = config.PtrSize
v2.AddArg(ptr)
v1.AddArg(v2)
@@ -3657,13 +3578,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpITab, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpITab, config.fe.TypeBytePtr())
v0.AddArg(x)
- v0.Type = config.fe.TypeBytePtr()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpITab, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpITab, config.fe.TypeBytePtr())
v1.AddArg(y)
- v1.Type = config.fe.TypeBytePtr()
v.AddArg(v1)
return true
}
@@ -3726,13 +3645,11 @@
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
- v0 := b.NewValue0(v.Line, OpSlicePtr, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpSlicePtr, config.fe.TypeBytePtr())
v0.AddArg(x)
- v0.Type = config.fe.TypeBytePtr()
v.AddArg(v0)
- v1 := b.NewValue0(v.Line, OpSlicePtr, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpSlicePtr, config.fe.TypeBytePtr())
v1.AddArg(y)
- v1.Type = config.fe.TypeBytePtr()
v.AddArg(v1)
return true
}
@@ -3855,11 +3772,9 @@
v.Aux = nil
v.resetArgs()
v.AddArg(ptr)
- v0 := b.NewValue0(v.Line, OpMul32, TypeInvalid)
- v0.Type = config.fe.TypeInt()
+ v0 := b.NewValue0(v.Line, OpMul32, config.fe.TypeInt())
v0.AddArg(idx)
- v1 := b.NewValue0(v.Line, OpConst32, TypeInvalid)
- v1.Type = config.fe.TypeInt()
+ v1 := b.NewValue0(v.Line, OpConst32, config.fe.TypeInt())
v1.AuxInt = t.Elem().Size()
v0.AddArg(v1)
v.AddArg(v0)
@@ -3883,11 +3798,9 @@
v.Aux = nil
v.resetArgs()
v.AddArg(ptr)
- v0 := b.NewValue0(v.Line, OpMul64, TypeInvalid)
- v0.Type = config.fe.TypeInt()
+ v0 := b.NewValue0(v.Line, OpMul64, config.fe.TypeInt())
v0.AddArg(idx)
- v1 := b.NewValue0(v.Line, OpConst64, TypeInvalid)
- v1.Type = config.fe.TypeInt()
+ v1 := b.NewValue0(v.Line, OpConst64, config.fe.TypeInt())
v1.AuxInt = t.Elem().Size()
v0.AddArg(v1)
v.AddArg(v0)
@@ -4033,18 +3946,16 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = t.FieldType(1).Size()
- v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v0.Type = t.FieldType(1).PtrTo()
+ v0 := b.NewValue0(v.Line, 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, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpStore, TypeMem)
v1.AuxInt = t.FieldType(0).Size()
v1.AddArg(dst)
v1.AddArg(f0)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -4069,28 +3980,24 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = t.FieldType(2).Size()
- v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v0.Type = t.FieldType(2).PtrTo()
+ v0 := b.NewValue0(v.Line, 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, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpStore, TypeMem)
v1.AuxInt = t.FieldType(1).Size()
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = t.FieldType(1).PtrTo()
+ v2 := b.NewValue0(v.Line, 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, TypeInvalid)
+ v3 := b.NewValue0(v.Line, OpStore, TypeMem)
v3.AuxInt = t.FieldType(0).Size()
v3.AddArg(dst)
v3.AddArg(f0)
v3.AddArg(mem)
- v3.Type = TypeMem
v1.AddArg(v3)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -4116,38 +4023,32 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = t.FieldType(3).Size()
- v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v0.Type = t.FieldType(3).PtrTo()
+ v0 := b.NewValue0(v.Line, 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, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpStore, TypeMem)
v1.AuxInt = t.FieldType(2).Size()
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = t.FieldType(2).PtrTo()
+ v2 := b.NewValue0(v.Line, 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, TypeInvalid)
+ v3 := b.NewValue0(v.Line, OpStore, TypeMem)
v3.AuxInt = t.FieldType(1).Size()
- v4 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v4.Type = t.FieldType(1).PtrTo()
+ v4 := b.NewValue0(v.Line, 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, TypeInvalid)
+ v5 := b.NewValue0(v.Line, OpStore, TypeMem)
v5.AuxInt = t.FieldType(0).Size()
v5.AddArg(dst)
v5.AddArg(f0)
v5.AddArg(mem)
- v5.Type = TypeMem
v3.AddArg(v5)
- v3.Type = TypeMem
v1.AddArg(v3)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -4173,18 +4074,16 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = 4
- v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v0.Type = config.fe.TypeFloat32().PtrTo()
+ v0 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeFloat32().PtrTo())
v0.AuxInt = 4
v0.AddArg(dst)
v.AddArg(v0)
v.AddArg(imag)
- v1 := b.NewValue0(v.Line, OpStore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpStore, TypeMem)
v1.AuxInt = 4
v1.AddArg(dst)
v1.AddArg(real)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -4210,18 +4109,16 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = 8
- v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v0.Type = config.fe.TypeFloat64().PtrTo()
+ v0 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeFloat64().PtrTo())
v0.AuxInt = 8
v0.AddArg(dst)
v.AddArg(v0)
v.AddArg(imag)
- v1 := b.NewValue0(v.Line, OpStore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpStore, TypeMem)
v1.AuxInt = 8
v1.AddArg(dst)
v1.AddArg(real)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -4247,18 +4144,16 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = config.PtrSize
- v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v0.Type = config.fe.TypeInt().PtrTo()
+ v0 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
v0.AuxInt = config.PtrSize
v0.AddArg(dst)
v.AddArg(v0)
v.AddArg(len)
- v1 := b.NewValue0(v.Line, OpStore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpStore, TypeMem)
v1.AuxInt = config.PtrSize
v1.AddArg(dst)
v1.AddArg(ptr)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -4285,28 +4180,24 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = config.PtrSize
- v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v0.Type = config.fe.TypeInt().PtrTo()
+ v0 := b.NewValue0(v.Line, 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, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpStore, TypeMem)
v1.AuxInt = config.PtrSize
- v2 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v2.Type = config.fe.TypeInt().PtrTo()
+ v2 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeInt().PtrTo())
v2.AuxInt = config.PtrSize
v2.AddArg(dst)
v1.AddArg(v2)
v1.AddArg(len)
- v3 := b.NewValue0(v.Line, OpStore, TypeInvalid)
+ v3 := b.NewValue0(v.Line, OpStore, TypeMem)
v3.AuxInt = config.PtrSize
v3.AddArg(dst)
v3.AddArg(ptr)
v3.AddArg(mem)
- v3.Type = TypeMem
v1.AddArg(v3)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -4332,18 +4223,16 @@
v.Aux = nil
v.resetArgs()
v.AuxInt = config.PtrSize
- v0 := b.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v0.Type = config.fe.TypeBytePtr().PtrTo()
+ v0 := b.NewValue0(v.Line, OpOffPtr, config.fe.TypeBytePtr().PtrTo())
v0.AuxInt = config.PtrSize
v0.AddArg(dst)
v.AddArg(v0)
v.AddArg(data)
- v1 := b.NewValue0(v.Line, OpStore, TypeInvalid)
+ v1 := b.NewValue0(v.Line, OpStore, TypeMem)
v1.AuxInt = config.PtrSize
v1.AddArg(dst)
v1.AddArg(itab)
v1.AddArg(mem)
- v1.Type = TypeMem
v.AddArg(v1)
return true
}
@@ -4410,10 +4299,9 @@
v.AuxInt = size
v.AddArg(dst)
v.AddArg(src)
- v0 := b.NewValue0(v.Line, OpVarDef, TypeInvalid)
+ v0 := b.NewValue0(v.Line, OpVarDef, TypeMem)
v0.Aux = x
v0.AddArg(mem)
- v0.Type = TypeMem
v.AddArg(v0)
return true
}
@@ -4704,15 +4592,13 @@
if !(!config.fe.CanSSA(t)) {
goto end2afd47b4fcaaab7a73325bd8a75e3e8e
}
- v0 := v.Args[0].Block.NewValue0(v.Line, OpLoad, TypeInvalid)
+ v0 := v.Args[0].Block.NewValue0(v.Line, OpLoad, v.Type)
v.Op = OpCopy
v.AuxInt = 0
v.Aux = nil
v.resetArgs()
v.AddArg(v0)
- v0.Type = v.Type
- v1 := v.Args[0].Block.NewValue0(v.Line, OpOffPtr, TypeInvalid)
- v1.Type = v.Type.PtrTo()
+ v1 := v.Args[0].Block.NewValue0(v.Line, OpOffPtr, v.Type.PtrTo())
v1.AuxInt = t.FieldOff(i)
v1.AddArg(ptr)
v0.AddArg(v1)