// result: (ADDBconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ADDBconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ADDBconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ADDBconst)
v.AuxInt = c
// result: (SUBB x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64NEGB {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64NEGB {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64SUBB)
v.AddArg(x)
v.AddArg(y)
// result: (MOVBconst [c+d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVBconst)
v.AuxInt = c + d
return true
// result: (ADDBconst [c+d] x)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64ADDBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDBconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
v.reset(OpAMD64ADDBconst)
v.AuxInt = c + d
v.AddArg(x)
// result: (ADDLconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ADDLconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ADDLconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ADDLconst)
v.AuxInt = c
// result: (SUBL x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64NEGL {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64NEGL {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64SUBL)
v.AddArg(x)
v.AddArg(y)
// result: (MOVLconst [c+d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVLconst)
v.AuxInt = c + d
return true
// result: (ADDLconst [c+d] x)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64ADDLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDLconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
v.reset(OpAMD64ADDLconst)
v.AuxInt = c + d
v.AddArg(x)
// result: (ADDQconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(is32Bit(c)) {
break
}
// cond: is32Bit(c)
// result: (ADDQconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
if !(is32Bit(c)) {
break
// result: (LEAQ8 x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 3 {
+ if v_1.AuxInt != 3 {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ8)
v.AddArg(x)
v.AddArg(y)
// result: (LEAQ4 x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 2 {
+ if v_1.AuxInt != 2 {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ4)
v.AddArg(x)
v.AddArg(y)
// result: (LEAQ2 x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 1 {
+ if v_1.AuxInt != 1 {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ2)
v.AddArg(x)
v.AddArg(y)
// result: (LEAQ2 x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQ {
break
}
- y := v.Args[1].Args[0]
- if v.Args[1].Args[1] != y {
+ y := v_1.Args[0]
+ if y != v_1.Args[1] {
break
}
v.reset(OpAMD64LEAQ2)
// result: (LEAQ2 y x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQ {
break
}
- if v.Args[1].Args[0] != x {
+ if x != v_1.Args[0] {
break
}
- y := v.Args[1].Args[1]
+ y := v_1.Args[1]
v.reset(OpAMD64LEAQ2)
v.AddArg(y)
v.AddArg(x)
// result: (LEAQ2 y x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQ {
break
}
- y := v.Args[1].Args[0]
- if v.Args[1].Args[1] != x {
+ y := v_1.Args[0]
+ if x != v_1.Args[1] {
break
}
v.reset(OpAMD64LEAQ2)
// cond:
// result: (LEAQ1 [c] x y)
for {
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
y := v.Args[1]
v.reset(OpAMD64LEAQ1)
v.AuxInt = c
// result: (LEAQ1 [c] x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[1].AuxInt
- y := v.Args[1].Args[0]
+ c := v_1.AuxInt
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ1)
v.AuxInt = c
v.AddArg(x)
// result: (LEAQ1 [c] {s} x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64LEAQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64LEAQ {
break
}
- c := v.Args[1].AuxInt
- s := v.Args[1].Aux
- y := v.Args[1].Args[0]
+ c := v_1.AuxInt
+ s := v_1.Aux
+ y := v_1.Args[0]
if !(x.Op != OpSB && y.Op != OpSB) {
break
}
// cond: x.Op != OpSB && y.Op != OpSB
// result: (LEAQ1 [c] {s} x y)
for {
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- c := v.Args[0].AuxInt
- s := v.Args[0].Aux
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ s := v_0.Aux
+ x := v_0.Args[0]
y := v.Args[1]
if !(x.Op != OpSB && y.Op != OpSB) {
break
// result: (SUBQ x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64NEGQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64NEGQ {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64SUBQ)
v.AddArg(x)
v.AddArg(y)
// result: (LEAQ1 [c] x y)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64ADDQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQ {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
v.reset(OpAMD64LEAQ1)
v.AuxInt = c
v.AddArg(x)
// result: (LEAQ [c+d] {s} x)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- d := v.Args[0].AuxInt
- s := v.Args[0].Aux
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ s := v_0.Aux
+ x := v_0.Args[0]
if !(is32Bit(c + d)) {
break
}
// result: (LEAQ1 [c+d] {s} x y)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64LEAQ1 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ1 {
break
}
- d := v.Args[0].AuxInt
- s := v.Args[0].Aux
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ d := v_0.AuxInt
+ s := v_0.Aux
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if !(is32Bit(c + d)) {
break
}
// result: (LEAQ2 [c+d] {s} x y)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64LEAQ2 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ2 {
break
}
- d := v.Args[0].AuxInt
- s := v.Args[0].Aux
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ d := v_0.AuxInt
+ s := v_0.Aux
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if !(is32Bit(c + d)) {
break
}
// result: (LEAQ4 [c+d] {s} x y)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64LEAQ4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ4 {
break
}
- d := v.Args[0].AuxInt
- s := v.Args[0].Aux
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ d := v_0.AuxInt
+ s := v_0.Aux
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if !(is32Bit(c + d)) {
break
}
// result: (LEAQ8 [c+d] {s} x y)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64LEAQ8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ8 {
break
}
- d := v.Args[0].AuxInt
- s := v.Args[0].Aux
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ d := v_0.AuxInt
+ s := v_0.Aux
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if !(is32Bit(c + d)) {
break
}
// result: (MOVQconst [c+d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = c + d
return true
// result: (ADDQconst [c+d] x)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
if !(is32Bit(c + d)) {
break
}
// result: (ADDWconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ADDWconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ADDWconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ADDWconst)
v.AuxInt = c
// result: (SUBW x y)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64NEGW {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64NEGW {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64SUBW)
v.AddArg(x)
v.AddArg(y)
// result: (MOVWconst [c+d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVWconst)
v.AuxInt = c + d
return true
// result: (ADDWconst [c+d] x)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64ADDWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDWconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
v.reset(OpAMD64ADDWconst)
v.AuxInt = c + d
v.AddArg(x)
// result: (ANDBconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ANDBconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ANDBconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ANDBconst)
v.AuxInt = c
// result: (ANDBconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ANDBconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ANDBconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ANDBconst)
v.AuxInt = c
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// result: (MOVBconst [c&d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVBconst)
v.AuxInt = c & d
return true
// result: (ANDLconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ANDLconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ANDLconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ANDLconst)
v.AuxInt = c
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// result: (MOVLconst [c&d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVLconst)
v.AuxInt = c & d
return true
// result: (ANDQconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(is32Bit(c)) {
break
}
// cond: is32Bit(c)
// result: (ANDQconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
if !(is32Bit(c)) {
break
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// result: (MOVQconst [c&d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = c & d
return true
// result: (ANDWconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ANDWconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ANDWconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ANDWconst)
v.AuxInt = c
// result: (ANDWconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ANDWconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ANDWconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ANDWconst)
v.AuxInt = c
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// result: (MOVWconst [c&d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVWconst)
v.AuxInt = c & d
return true
// result: (CMPBconst x [c])
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64CMPBconst)
v.AddArg(x)
v.AuxInt = c
// cond:
// result: (InvertFlags (CMPBconst x [c]))
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64InvertFlags)
v0 := b.NewValue0(v.Line, OpAMD64CMPBconst, TypeFlags)
// cond: int8(x)==int8(y)
// result: (FlagEQ)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int8(x) == int8(y)) {
break
// cond: int8(x)<int8(y) && uint8(x)<uint8(y)
// result: (FlagLT_ULT)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int8(x) < int8(y) && uint8(x) < uint8(y)) {
break
// cond: int8(x)<int8(y) && uint8(x)>uint8(y)
// result: (FlagLT_UGT)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int8(x) < int8(y) && uint8(x) > uint8(y)) {
break
// cond: int8(x)>int8(y) && uint8(x)<uint8(y)
// result: (FlagGT_ULT)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int8(x) > int8(y) && uint8(x) < uint8(y)) {
break
// cond: int8(x)>int8(y) && uint8(x)>uint8(y)
// result: (FlagGT_UGT)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int8(x) > int8(y) && uint8(x) > uint8(y)) {
break
// cond: int8(m)+1==int8(n) && isPowerOfTwo(int64(int8(n)))
// result: (FlagLT_ULT)
for {
- if v.Args[0].Op != OpAMD64ANDBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDBconst {
break
}
- m := v.Args[0].AuxInt
+ m := v_0.AuxInt
n := v.AuxInt
if !(int8(m)+1 == int8(n) && isPowerOfTwo(int64(int8(n)))) {
break
// cond:
// result: (TESTB x y)
for {
- if v.Args[0].Op != OpAMD64ANDB {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDB {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if v.AuxInt != 0 {
break
}
// cond:
// result: (TESTBconst [c] x)
for {
- if v.Args[0].Op != OpAMD64ANDBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDBconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
if v.AuxInt != 0 {
break
}
// result: (CMPLconst x [c])
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64CMPLconst)
v.AddArg(x)
v.AuxInt = c
// cond:
// result: (InvertFlags (CMPLconst x [c]))
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64InvertFlags)
v0 := b.NewValue0(v.Line, OpAMD64CMPLconst, TypeFlags)
// cond: int32(x)==int32(y)
// result: (FlagEQ)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int32(x) == int32(y)) {
break
// cond: int32(x)<int32(y) && uint32(x)<uint32(y)
// result: (FlagLT_ULT)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int32(x) < int32(y) && uint32(x) < uint32(y)) {
break
// cond: int32(x)<int32(y) && uint32(x)>uint32(y)
// result: (FlagLT_UGT)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int32(x) < int32(y) && uint32(x) > uint32(y)) {
break
// cond: int32(x)>int32(y) && uint32(x)<uint32(y)
// result: (FlagGT_ULT)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int32(x) > int32(y) && uint32(x) < uint32(y)) {
break
// cond: int32(x)>int32(y) && uint32(x)>uint32(y)
// result: (FlagGT_UGT)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int32(x) > int32(y) && uint32(x) > uint32(y)) {
break
// cond: int32(m)+1==int32(n) && isPowerOfTwo(int64(int32(n)))
// result: (FlagLT_ULT)
for {
- if v.Args[0].Op != OpAMD64ANDLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDLconst {
break
}
- m := v.Args[0].AuxInt
+ m := v_0.AuxInt
n := v.AuxInt
if !(int32(m)+1 == int32(n) && isPowerOfTwo(int64(int32(n)))) {
break
// cond:
// result: (TESTL x y)
for {
- if v.Args[0].Op != OpAMD64ANDL {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDL {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if v.AuxInt != 0 {
break
}
// cond:
// result: (TESTLconst [c] x)
for {
- if v.Args[0].Op != OpAMD64ANDLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDLconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
if v.AuxInt != 0 {
break
}
// result: (CMPQconst x [c])
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(is32Bit(c)) {
break
}
// cond: is32Bit(c)
// result: (InvertFlags (CMPQconst x [c]))
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
if !(is32Bit(c)) {
break
// cond: x==y
// result: (FlagEQ)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(x == y) {
break
// cond: x<y && uint64(x)<uint64(y)
// result: (FlagLT_ULT)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(x < y && uint64(x) < uint64(y)) {
break
// cond: x<y && uint64(x)>uint64(y)
// result: (FlagLT_UGT)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(x < y && uint64(x) > uint64(y)) {
break
// cond: x>y && uint64(x)<uint64(y)
// result: (FlagGT_ULT)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(x > y && uint64(x) < uint64(y)) {
break
// cond: x>y && uint64(x)>uint64(y)
// result: (FlagGT_UGT)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(x > y && uint64(x) > uint64(y)) {
break
// cond: m+1==n && isPowerOfTwo(n)
// result: (FlagLT_ULT)
for {
- if v.Args[0].Op != OpAMD64ANDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDQconst {
break
}
- m := v.Args[0].AuxInt
+ m := v_0.AuxInt
n := v.AuxInt
if !(m+1 == n && isPowerOfTwo(n)) {
break
// cond:
// result: (TESTQ x y)
for {
- if v.Args[0].Op != OpAMD64ANDQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDQ {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if v.AuxInt != 0 {
break
}
// cond:
// result: (TESTQconst [c] x)
for {
- if v.Args[0].Op != OpAMD64ANDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDQconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
if v.AuxInt != 0 {
break
}
// result: (CMPWconst x [c])
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64CMPWconst)
v.AddArg(x)
v.AuxInt = c
// cond:
// result: (InvertFlags (CMPWconst x [c]))
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64InvertFlags)
v0 := b.NewValue0(v.Line, OpAMD64CMPWconst, TypeFlags)
// cond: int16(x)==int16(y)
// result: (FlagEQ)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int16(x) == int16(y)) {
break
// cond: int16(x)<int16(y) && uint16(x)<uint16(y)
// result: (FlagLT_ULT)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int16(x) < int16(y) && uint16(x) < uint16(y)) {
break
// cond: int16(x)<int16(y) && uint16(x)>uint16(y)
// result: (FlagLT_UGT)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int16(x) < int16(y) && uint16(x) > uint16(y)) {
break
// cond: int16(x)>int16(y) && uint16(x)<uint16(y)
// result: (FlagGT_ULT)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int16(x) > int16(y) && uint16(x) < uint16(y)) {
break
// cond: int16(x)>int16(y) && uint16(x)>uint16(y)
// result: (FlagGT_UGT)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- x := v.Args[0].AuxInt
+ x := v_0.AuxInt
y := v.AuxInt
if !(int16(x) > int16(y) && uint16(x) > uint16(y)) {
break
// cond: int16(m)+1==int16(n) && isPowerOfTwo(int64(int16(n)))
// result: (FlagLT_ULT)
for {
- if v.Args[0].Op != OpAMD64ANDWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDWconst {
break
}
- m := v.Args[0].AuxInt
+ m := v_0.AuxInt
n := v.AuxInt
if !(int16(m)+1 == int16(n) && isPowerOfTwo(int64(int16(n)))) {
break
// cond:
// result: (TESTW x y)
for {
- if v.Args[0].Op != OpAMD64ANDW {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDW {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if v.AuxInt != 0 {
break
}
// cond:
// result: (TESTWconst [c] x)
for {
- if v.Args[0].Op != OpAMD64ANDWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDWconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
if v.AuxInt != 0 {
break
}
// cond:
// result: (MOVQload ptr mem)
for {
- if v.Args[0].Op != OpLoad {
+ v_0 := v.Args[0]
+ if v_0.Op != OpLoad {
break
}
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
+ ptr := v_0.Args[0]
+ mem := v_0.Args[1]
v.reset(OpAMD64MOVQload)
v.AddArg(ptr)
v.AddArg(mem)
for {
c := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
if !(is32Bit(c + d)) {
break
}
for {
c := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQ {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if !(x.Op != OpSB && y.Op != OpSB) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- x := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ x := v_0.Args[0]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ1 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ1 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ2 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ2 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ4 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ8 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ x := v_0.Args[0]
+ y := v_0.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
}
for {
c := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
y := v.Args[1]
if !(is32Bit(c+d) && x.Op != OpSB) {
break
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- y := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ y := v_1.Args[0]
if !(is32Bit(c+d) && y.Op != OpSB) {
break
}
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 1 {
+ if v_1.AuxInt != 1 {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ2)
v.AuxInt = c
v.Aux = s
for {
c := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64SHLQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SHLQconst {
break
}
- if v.Args[0].AuxInt != 1 {
+ if v_0.AuxInt != 1 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
y := v.Args[1]
v.reset(OpAMD64LEAQ2)
v.AuxInt = c
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 2 {
+ if v_1.AuxInt != 2 {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ4)
v.AuxInt = c
v.Aux = s
for {
c := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64SHLQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SHLQconst {
break
}
- if v.Args[0].AuxInt != 2 {
+ if v_0.AuxInt != 2 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
y := v.Args[1]
v.reset(OpAMD64LEAQ4)
v.AuxInt = c
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 3 {
+ if v_1.AuxInt != 3 {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ8)
v.AuxInt = c
v.Aux = s
for {
c := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64SHLQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SHLQconst {
break
}
- if v.Args[0].AuxInt != 3 {
+ if v_0.AuxInt != 3 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
y := v.Args[1]
v.reset(OpAMD64LEAQ8)
v.AuxInt = c
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- x := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ x := v_0.Args[0]
y := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
break
off1 := v.AuxInt
sym1 := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64LEAQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[1].AuxInt
- sym2 := v.Args[1].Aux
- y := v.Args[1].Args[0]
+ off2 := v_1.AuxInt
+ sym2 := v_1.Aux
+ y := v_1.Args[0]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && y.Op != OpSB) {
break
}
for {
c := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
y := v.Args[1]
if !(is32Bit(c+d) && x.Op != OpSB) {
break
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- y := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ y := v_1.Args[0]
if !(is32Bit(c+2*d) && y.Op != OpSB) {
break
}
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 1 {
+ if v_1.AuxInt != 1 {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ4)
v.AuxInt = c
v.Aux = s
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 2 {
+ if v_1.AuxInt != 2 {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ8)
v.AuxInt = c
v.Aux = s
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- x := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ x := v_0.Args[0]
y := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
break
for {
c := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
y := v.Args[1]
if !(is32Bit(c+d) && x.Op != OpSB) {
break
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- y := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ y := v_1.Args[0]
if !(is32Bit(c+4*d) && y.Op != OpSB) {
break
}
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 1 {
+ if v_1.AuxInt != 1 {
break
}
- y := v.Args[1].Args[0]
+ y := v_1.Args[0]
v.reset(OpAMD64LEAQ8)
v.AuxInt = c
v.Aux = s
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- x := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ x := v_0.Args[0]
y := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
break
for {
c := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
y := v.Args[1]
if !(is32Bit(c+d) && x.Op != OpSB) {
break
c := v.AuxInt
s := v.Aux
x := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- y := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ y := v_1.Args[0]
if !(is32Bit(c+8*d) && y.Op != OpSB) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- x := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ x := v_0.Args[0]
y := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2) && x.Op != OpSB) {
break
func rewriteValueAMD64_OpAMD64MOVBQSX(v *Value, config *Config) bool {
b := v.Block
_ = b
- // match: (MOVBQSX (MOVBload [off] {sym} ptr mem))
- // cond: v.Args[0].Uses == 1
- // result: @v.Args[0].Block (MOVBQSXload <v.Type> [off] {sym} ptr mem)
+ // match: (MOVBQSX x:(MOVBload [off] {sym} ptr mem))
+ // cond: x.Uses == 1
+ // result: @x.Block (MOVBQSXload <v.Type> [off] {sym} ptr mem)
for {
- if v.Args[0].Op != OpAMD64MOVBload {
+ x := v.Args[0]
+ if x.Op != OpAMD64MOVBload {
break
}
- off := v.Args[0].AuxInt
- sym := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
- if !(v.Args[0].Uses == 1) {
+ off := x.AuxInt
+ sym := x.Aux
+ ptr := x.Args[0]
+ mem := x.Args[1]
+ if !(x.Uses == 1) {
break
}
- b = v.Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpAMD64MOVBQSXload, v.Type)
v.reset(OpCopy)
v.AddArg(v0)
// cond: c & 0x80 == 0
// result: (ANDQconst [c & 0x7f] x)
for {
- if v.Args[0].Op != OpAMD64ANDBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDBconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
if !(c&0x80 == 0) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
func rewriteValueAMD64_OpAMD64MOVBQZX(v *Value, config *Config) bool {
b := v.Block
_ = b
- // match: (MOVBQZX (MOVBload [off] {sym} ptr mem))
- // cond: v.Args[0].Uses == 1
- // result: @v.Args[0].Block (MOVBQZXload <v.Type> [off] {sym} ptr mem)
+ // match: (MOVBQZX x:(MOVBload [off] {sym} ptr mem))
+ // cond: x.Uses == 1
+ // result: @x.Block (MOVBQZXload <v.Type> [off] {sym} ptr mem)
for {
- if v.Args[0].Op != OpAMD64MOVBload {
+ x := v.Args[0]
+ if x.Op != OpAMD64MOVBload {
break
}
- off := v.Args[0].AuxInt
- sym := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
- if !(v.Args[0].Uses == 1) {
+ off := x.AuxInt
+ sym := x.Aux
+ ptr := x.Args[0]
+ mem := x.Args[1]
+ if !(x.Uses == 1) {
break
}
- b = v.Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpAMD64MOVBQZXload, v.Type)
v.reset(OpCopy)
v.AddArg(v0)
// cond:
// result: (ANDQconst [c & 0xff] x)
for {
- if v.Args[0].Op != OpAMD64ANDBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDBconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
v.reset(OpAMD64ANDQconst)
v.AuxInt = c & 0xff
v.AddArg(x)
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBstore {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBstore {
break
}
- off2 := v.Args[1].AuxInt
- sym2 := v.Args[1].Aux
- ptr2 := v.Args[1].Args[0]
- x := v.Args[1].Args[1]
+ off2 := v_1.AuxInt
+ sym2 := v_1.Aux
+ ptr2 := v_1.Args[0]
+ x := v_1.Args[1]
if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
break
}
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1 + off2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ1 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ1 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
off := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQ {
break
}
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(ptr.Op != OpSB) {
break
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVBloadidx1)
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVBloadidx1)
v.AuxInt = c + d
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBQSX {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBQSX {
break
}
- x := v.Args[1].Args[0]
+ x := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBQZX {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBQZX {
break
}
- x := v.Args[1].Args[0]
+ x := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1 + off2)) {
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
mem := v.Args[2]
if !(validOff(off)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ1 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ1 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
off := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQ {
break
}
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
val := v.Args[1]
mem := v.Args[2]
if !(ptr.Op != OpSB) {
for {
sc := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(ValAndOff(sc).canAdd(off)) {
break
for {
sc := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
+ off := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
break
for {
x := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ1 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ1 {
break
}
- off := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(canMergeSym(sym1, sym2)) {
break
for {
x := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQ {
break
}
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
v.reset(OpAMD64MOVBstoreconstidx1)
v.AuxInt = x
for {
x := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVBstoreconstidx1)
x := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ c := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVBstoreconstidx1)
v.AuxInt = ValAndOff(x).add(c)
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
val := v.Args[2]
mem := v.Args[3]
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
val := v.Args[2]
mem := v.Args[3]
v.reset(OpAMD64MOVBstoreidx1)
func rewriteValueAMD64_OpAMD64MOVLQSX(v *Value, config *Config) bool {
b := v.Block
_ = b
- // match: (MOVLQSX (MOVLload [off] {sym} ptr mem))
- // cond: v.Args[0].Uses == 1
- // result: @v.Args[0].Block (MOVLQSXload <v.Type> [off] {sym} ptr mem)
+ // match: (MOVLQSX x:(MOVLload [off] {sym} ptr mem))
+ // cond: x.Uses == 1
+ // result: @x.Block (MOVLQSXload <v.Type> [off] {sym} ptr mem)
for {
- if v.Args[0].Op != OpAMD64MOVLload {
+ x := v.Args[0]
+ if x.Op != OpAMD64MOVLload {
break
}
- off := v.Args[0].AuxInt
- sym := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
- if !(v.Args[0].Uses == 1) {
+ off := x.AuxInt
+ sym := x.Aux
+ ptr := x.Args[0]
+ mem := x.Args[1]
+ if !(x.Uses == 1) {
break
}
- b = v.Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpAMD64MOVLQSXload, v.Type)
v.reset(OpCopy)
v.AddArg(v0)
// cond: c & 0x80000000 == 0
// result: (ANDQconst [c & 0x7fffffff] x)
for {
- if v.Args[0].Op != OpAMD64ANDLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDLconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
if !(c&0x80000000 == 0) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
func rewriteValueAMD64_OpAMD64MOVLQZX(v *Value, config *Config) bool {
b := v.Block
_ = b
- // match: (MOVLQZX (MOVLload [off] {sym} ptr mem))
- // cond: v.Args[0].Uses == 1
- // result: @v.Args[0].Block (MOVLQZXload <v.Type> [off] {sym} ptr mem)
+ // match: (MOVLQZX x:(MOVLload [off] {sym} ptr mem))
+ // cond: x.Uses == 1
+ // result: @x.Block (MOVLQZXload <v.Type> [off] {sym} ptr mem)
for {
- if v.Args[0].Op != OpAMD64MOVLload {
+ x := v.Args[0]
+ if x.Op != OpAMD64MOVLload {
break
}
- off := v.Args[0].AuxInt
- sym := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
- if !(v.Args[0].Uses == 1) {
+ off := x.AuxInt
+ sym := x.Aux
+ ptr := x.Args[0]
+ mem := x.Args[1]
+ if !(x.Uses == 1) {
break
}
- b = v.Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpAMD64MOVLQZXload, v.Type)
v.reset(OpCopy)
v.AddArg(v0)
// cond: c & 0x80000000 == 0
// result: (ANDQconst [c & 0x7fffffff] x)
for {
- if v.Args[0].Op != OpAMD64ANDLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDLconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
if !(c&0x80000000 == 0) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLstore {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLstore {
break
}
- off2 := v.Args[1].AuxInt
- sym2 := v.Args[1].Aux
- ptr2 := v.Args[1].Args[0]
- x := v.Args[1].Args[1]
+ off2 := v_1.AuxInt
+ sym2 := v_1.Aux
+ ptr2 := v_1.Args[0]
+ x := v_1.Args[1]
if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
break
}
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1 + off2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ4 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVLloadidx4)
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVLloadidx4)
v.AuxInt = c + 4*d
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLQSX {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLQSX {
break
}
- x := v.Args[1].Args[0]
+ x := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVLstore)
v.AuxInt = off
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLQZX {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLQZX {
break
}
- x := v.Args[1].Args[0]
+ x := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVLstore)
v.AuxInt = off
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1 + off2)) {
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
mem := v.Args[2]
if !(validOff(off)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ4 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
sc := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(ValAndOff(sc).canAdd(off)) {
break
for {
sc := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
+ off := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
break
for {
x := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ4 {
break
}
- off := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(canMergeSym(sym1, sym2)) {
break
for {
x := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVLstoreconstidx4)
x := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ c := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVLstoreconstidx4)
v.AuxInt = ValAndOff(x).add(4 * c)
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
val := v.Args[2]
mem := v.Args[3]
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
val := v.Args[2]
mem := v.Args[3]
v.reset(OpAMD64MOVLstoreidx4)
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1 + off2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1 + off2)) {
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQstore {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQstore {
break
}
- off2 := v.Args[1].AuxInt
- sym2 := v.Args[1].Aux
- ptr2 := v.Args[1].Args[0]
- x := v.Args[1].Args[1]
+ off2 := v_1.AuxInt
+ sym2 := v_1.Aux
+ ptr2 := v_1.Args[0]
+ x := v_1.Args[1]
if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
break
}
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1 + off2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ8 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVQloadidx8)
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVQloadidx8)
v.AuxInt = c + 8*d
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1 + off2)) {
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
mem := v.Args[2]
if !(validValAndOff(c, off)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ8 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
sc := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(ValAndOff(sc).canAdd(off)) {
break
for {
sc := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
+ off := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
break
for {
x := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ8 {
break
}
- off := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(canMergeSym(sym1, sym2)) {
break
for {
x := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVQstoreconstidx8)
x := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ c := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVQstoreconstidx8)
v.AuxInt = ValAndOff(x).add(8 * c)
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
val := v.Args[2]
mem := v.Args[3]
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
val := v.Args[2]
mem := v.Args[3]
v.reset(OpAMD64MOVQstoreidx8)
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1 + off2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ8 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVSDloadidx8)
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVSDloadidx8)
v.AuxInt = c + 8*d
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1 + off2)) {
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ8 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
val := v.Args[2]
mem := v.Args[3]
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
val := v.Args[2]
mem := v.Args[3]
v.reset(OpAMD64MOVSDstoreidx8)
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1 + off2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ4 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVSSloadidx4)
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVSSloadidx4)
v.AuxInt = c + 4*d
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1 + off2)) {
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ4 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
val := v.Args[2]
mem := v.Args[3]
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
val := v.Args[2]
mem := v.Args[3]
v.reset(OpAMD64MOVSSstoreidx4)
func rewriteValueAMD64_OpAMD64MOVWQSX(v *Value, config *Config) bool {
b := v.Block
_ = b
- // match: (MOVWQSX (MOVWload [off] {sym} ptr mem))
- // cond: v.Args[0].Uses == 1
- // result: @v.Args[0].Block (MOVWQSXload <v.Type> [off] {sym} ptr mem)
+ // match: (MOVWQSX x:(MOVWload [off] {sym} ptr mem))
+ // cond: x.Uses == 1
+ // result: @x.Block (MOVWQSXload <v.Type> [off] {sym} ptr mem)
for {
- if v.Args[0].Op != OpAMD64MOVWload {
+ x := v.Args[0]
+ if x.Op != OpAMD64MOVWload {
break
}
- off := v.Args[0].AuxInt
- sym := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
- if !(v.Args[0].Uses == 1) {
+ off := x.AuxInt
+ sym := x.Aux
+ ptr := x.Args[0]
+ mem := x.Args[1]
+ if !(x.Uses == 1) {
break
}
- b = v.Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpAMD64MOVWQSXload, v.Type)
v.reset(OpCopy)
v.AddArg(v0)
// cond: c & 0x8000 == 0
// result: (ANDQconst [c & 0x7fff] x)
for {
- if v.Args[0].Op != OpAMD64ANDWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDWconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
if !(c&0x8000 == 0) {
break
}
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
func rewriteValueAMD64_OpAMD64MOVWQZX(v *Value, config *Config) bool {
b := v.Block
_ = b
- // match: (MOVWQZX (MOVWload [off] {sym} ptr mem))
- // cond: v.Args[0].Uses == 1
- // result: @v.Args[0].Block (MOVWQZXload <v.Type> [off] {sym} ptr mem)
+ // match: (MOVWQZX x:(MOVWload [off] {sym} ptr mem))
+ // cond: x.Uses == 1
+ // result: @x.Block (MOVWQZXload <v.Type> [off] {sym} ptr mem)
for {
- if v.Args[0].Op != OpAMD64MOVWload {
+ x := v.Args[0]
+ if x.Op != OpAMD64MOVWload {
break
}
- off := v.Args[0].AuxInt
- sym := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
- if !(v.Args[0].Uses == 1) {
+ off := x.AuxInt
+ sym := x.Aux
+ ptr := x.Args[0]
+ mem := x.Args[1]
+ if !(x.Uses == 1) {
break
}
- b = v.Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpAMD64MOVWQZXload, v.Type)
v.reset(OpCopy)
v.AddArg(v0)
// cond:
// result: (ANDQconst [c & 0xffff] x)
for {
- if v.Args[0].Op != OpAMD64ANDWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ANDWconst {
break
}
- c := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ x := v_0.Args[0]
v.reset(OpAMD64ANDQconst)
v.AuxInt = c & 0xffff
v.AddArg(x)
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWstore {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWstore {
break
}
- off2 := v.Args[1].AuxInt
- sym2 := v.Args[1].Aux
- ptr2 := v.Args[1].Args[0]
- x := v.Args[1].Args[1]
+ off2 := v_1.AuxInt
+ sym2 := v_1.Aux
+ ptr2 := v_1.Args[0]
+ x := v_1.Args[1]
if !(sym == sym2 && off == off2 && isSamePtr(ptr, ptr2)) {
break
}
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1 + off2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ2 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ2 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
break
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVWloadidx2)
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVWloadidx2)
v.AuxInt = c + 2*d
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWQSX {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWQSX {
break
}
- x := v.Args[1].Args[0]
+ x := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVWstore)
v.AuxInt = off
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWQZX {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWQZX {
break
}
- x := v.Args[1].Args[0]
+ x := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVWstore)
v.AuxInt = off
for {
off1 := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off2 := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ ptr := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1 + off2)) {
off := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
mem := v.Args[2]
if !(validOff(off)) {
break
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- base := v.Args[0].Args[0]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ base := v_0.Args[0]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
off1 := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ2 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ2 {
break
}
- off2 := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off2 := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
val := v.Args[1]
mem := v.Args[2]
if !(is32Bit(off1+off2) && canMergeSym(sym1, sym2)) {
for {
sc := v.AuxInt
s := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- off := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ off := v_0.AuxInt
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(ValAndOff(sc).canAdd(off)) {
break
for {
sc := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ {
break
}
- off := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
+ off := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
mem := v.Args[1]
if !(canMergeSym(sym1, sym2) && ValAndOff(sc).canAdd(off)) {
break
for {
x := v.AuxInt
sym1 := v.Aux
- if v.Args[0].Op != OpAMD64LEAQ2 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64LEAQ2 {
break
}
- off := v.Args[0].AuxInt
- sym2 := v.Args[0].Aux
- ptr := v.Args[0].Args[0]
- idx := v.Args[0].Args[1]
+ off := v_0.AuxInt
+ sym2 := v_0.Aux
+ ptr := v_0.Args[0]
+ idx := v_0.Args[1]
mem := v.Args[1]
if !(canMergeSym(sym1, sym2)) {
break
for {
x := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ c := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
mem := v.Args[2]
v.reset(OpAMD64MOVWstoreconstidx2)
x := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- c := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ c := v_1.AuxInt
+ idx := v_1.Args[0]
mem := v.Args[2]
v.reset(OpAMD64MOVWstoreconstidx2)
v.AuxInt = ValAndOff(x).add(2 * c)
for {
c := v.AuxInt
sym := v.Aux
- if v.Args[0].Op != OpAMD64ADDQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[0].AuxInt
- ptr := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ ptr := v_0.Args[0]
idx := v.Args[1]
val := v.Args[2]
mem := v.Args[3]
c := v.AuxInt
sym := v.Aux
ptr := v.Args[0]
- if v.Args[1].Op != OpAMD64ADDQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64ADDQconst {
break
}
- d := v.Args[1].AuxInt
- idx := v.Args[1].Args[0]
+ d := v_1.AuxInt
+ idx := v_1.Args[0]
val := v.Args[2]
mem := v.Args[3]
v.reset(OpAMD64MOVWstoreidx2)
// result: (MULBconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64MULBconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (MULBconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64MULBconst)
v.AuxInt = c
// result: (MOVBconst [c*d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVBconst)
v.AuxInt = c * d
return true
// result: (MULLconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64MULLconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (MULLconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64MULLconst)
v.AuxInt = c
// result: (MOVLconst [c*d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVLconst)
v.AuxInt = c * d
return true
// result: (MULQconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(is32Bit(c)) {
break
}
// cond: is32Bit(c)
// result: (MULQconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
if !(is32Bit(c)) {
break
// result: (MOVQconst [c*d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = c * d
return true
// result: (MULWconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64MULWconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (MULWconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64MULWconst)
v.AuxInt = c
// result: (MOVWconst [c*d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVWconst)
v.AuxInt = c * d
return true
// cond:
// result: (MOVBconst [-c])
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpAMD64MOVBconst)
v.AuxInt = -c
return true
// cond:
// result: (MOVLconst [-c])
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpAMD64MOVLconst)
v.AuxInt = -c
return true
// cond:
// result: (MOVQconst [-c])
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = -c
return true
// cond:
// result: (MOVWconst [-c])
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpAMD64MOVWconst)
v.AuxInt = -c
return true
// cond:
// result: (MOVBconst [^c])
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpAMD64MOVBconst)
v.AuxInt = ^c
return true
// cond:
// result: (MOVLconst [^c])
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpAMD64MOVLconst)
v.AuxInt = ^c
return true
// cond:
// result: (MOVQconst [^c])
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = ^c
return true
// cond:
// result: (MOVWconst [^c])
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpAMD64MOVWconst)
v.AuxInt = ^c
return true
// result: (ORBconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ORBconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ORBconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ORBconst)
v.AuxInt = c
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// result: (MOVBconst [c|d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVBconst)
v.AuxInt = c | d
return true
// result: (ORLconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ORLconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ORLconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ORLconst)
v.AuxInt = c
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
v.AddArg(x)
return true
}
- // match: (ORL (ORL (ORL (MOVBQZXload [i] {s} p mem) (SHLLconst [8] (MOVBQZXload [i+1] {s} p mem))) (SHLLconst [16] (MOVBQZXload [i+2] {s} p mem))) (SHLLconst [24] (MOVBQZXload [i+3] {s} p mem)))
+ // match: (ORL (ORL (ORL x:(MOVBQZXload [i] {s} p mem) (SHLLconst [8] (MOVBQZXload [i+1] {s} p mem))) (SHLLconst [16] (MOVBQZXload [i+2] {s} p mem))) (SHLLconst [24] (MOVBQZXload [i+3] {s} p mem)))
// cond:
- // result: @v.Args[0].Args[0].Args[0].Block (MOVLload [i] {s} p mem)
+ // result: @x.Block (MOVLload [i] {s} p mem)
for {
- if v.Args[0].Op != OpAMD64ORL {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ORL {
break
}
- if v.Args[0].Args[0].Op != OpAMD64ORL {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpAMD64ORL {
break
}
- if v.Args[0].Args[0].Args[0].Op != OpAMD64MOVBQZXload {
+ x := v_0_0.Args[0]
+ if x.Op != OpAMD64MOVBQZXload {
break
}
- i := v.Args[0].Args[0].Args[0].AuxInt
- s := v.Args[0].Args[0].Args[0].Aux
- p := v.Args[0].Args[0].Args[0].Args[0]
- mem := v.Args[0].Args[0].Args[0].Args[1]
- if v.Args[0].Args[0].Args[1].Op != OpAMD64SHLLconst {
+ i := x.AuxInt
+ s := x.Aux
+ p := x.Args[0]
+ mem := x.Args[1]
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpAMD64SHLLconst {
break
}
- if v.Args[0].Args[0].Args[1].AuxInt != 8 {
+ if v_0_0_1.AuxInt != 8 {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_0_0_1_0 := v_0_0_1.Args[0]
+ if v_0_0_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].AuxInt != i+1 {
+ if v_0_0_1_0.AuxInt != i+1 {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].Aux != s {
+ if v_0_0_1_0.Aux != s {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].Args[0] != p {
+ if p != v_0_0_1_0.Args[0] {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].Args[1] != mem {
+ if mem != v_0_0_1_0.Args[1] {
break
}
- if v.Args[0].Args[1].Op != OpAMD64SHLLconst {
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpAMD64SHLLconst {
break
}
- if v.Args[0].Args[1].AuxInt != 16 {
+ if v_0_1.AuxInt != 16 {
break
}
- if v.Args[0].Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_0_1_0 := v_0_1.Args[0]
+ if v_0_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[0].Args[1].Args[0].AuxInt != i+2 {
+ if v_0_1_0.AuxInt != i+2 {
break
}
- if v.Args[0].Args[1].Args[0].Aux != s {
+ if v_0_1_0.Aux != s {
break
}
- if v.Args[0].Args[1].Args[0].Args[0] != p {
+ if p != v_0_1_0.Args[0] {
break
}
- if v.Args[0].Args[1].Args[0].Args[1] != mem {
+ if mem != v_0_1_0.Args[1] {
break
}
- if v.Args[1].Op != OpAMD64SHLLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLLconst {
break
}
- if v.Args[1].AuxInt != 24 {
+ if v_1.AuxInt != 24 {
break
}
- if v.Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[1].Args[0].AuxInt != i+3 {
+ if v_1_0.AuxInt != i+3 {
break
}
- if v.Args[1].Args[0].Aux != s {
+ if v_1_0.Aux != s {
break
}
- if v.Args[1].Args[0].Args[0] != p {
+ if p != v_1_0.Args[0] {
break
}
- if v.Args[1].Args[0].Args[1] != mem {
+ if mem != v_1_0.Args[1] {
break
}
- b = v.Args[0].Args[0].Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpAMD64MOVLload, config.fe.TypeUInt32())
v.reset(OpCopy)
v.AddArg(v0)
// result: (MOVLconst [c|d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVLconst)
v.AuxInt = c | d
return true
// result: (ORQconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(is32Bit(c)) {
break
}
// cond: is32Bit(c)
// result: (ORQconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
if !(is32Bit(c)) {
break
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
v.AddArg(x)
return true
}
- // match: (ORQ (ORQ (ORQ (ORQ (ORQ (ORQ (ORQ (MOVBQZXload [i] {s} p mem) (SHLQconst [8] (MOVBQZXload [i+1] {s} p mem))) (SHLQconst [16] (MOVBQZXload [i+2] {s} p mem))) (SHLQconst [24] (MOVBQZXload [i+3] {s} p mem))) (SHLQconst [32] (MOVBQZXload [i+4] {s} p mem))) (SHLQconst [40] (MOVBQZXload [i+5] {s} p mem))) (SHLQconst [48] (MOVBQZXload [i+6] {s} p mem))) (SHLQconst [56] (MOVBQZXload [i+7] {s} p mem)))
+ // match: (ORQ (ORQ (ORQ (ORQ (ORQ (ORQ (ORQ x:(MOVBQZXload [i] {s} p mem) (SHLQconst [8] (MOVBQZXload [i+1] {s} p mem))) (SHLQconst [16] (MOVBQZXload [i+2] {s} p mem))) (SHLQconst [24] (MOVBQZXload [i+3] {s} p mem))) (SHLQconst [32] (MOVBQZXload [i+4] {s} p mem))) (SHLQconst [40] (MOVBQZXload [i+5] {s} p mem))) (SHLQconst [48] (MOVBQZXload [i+6] {s} p mem))) (SHLQconst [56] (MOVBQZXload [i+7] {s} p mem)))
// cond:
- // result: @v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Block (MOVQload [i] {s} p mem)
+ // result: @x.Block (MOVQload [i] {s} p mem)
for {
- if v.Args[0].Op != OpAMD64ORQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64ORQ {
break
}
- if v.Args[0].Args[0].Op != OpAMD64ORQ {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpAMD64ORQ {
break
}
- if v.Args[0].Args[0].Args[0].Op != OpAMD64ORQ {
+ v_0_0_0 := v_0_0.Args[0]
+ if v_0_0_0.Op != OpAMD64ORQ {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Op != OpAMD64ORQ {
+ v_0_0_0_0 := v_0_0_0.Args[0]
+ if v_0_0_0_0.Op != OpAMD64ORQ {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Op != OpAMD64ORQ {
+ v_0_0_0_0_0 := v_0_0_0_0.Args[0]
+ if v_0_0_0_0_0.Op != OpAMD64ORQ {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Op != OpAMD64ORQ {
+ v_0_0_0_0_0_0 := v_0_0_0_0_0.Args[0]
+ if v_0_0_0_0_0_0.Op != OpAMD64ORQ {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Op != OpAMD64MOVBQZXload {
+ x := v_0_0_0_0_0_0.Args[0]
+ if x.Op != OpAMD64MOVBQZXload {
break
}
- i := v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].AuxInt
- s := v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Aux
- p := v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[0]
- mem := v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[1]
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Op != OpAMD64SHLQconst {
+ i := x.AuxInt
+ s := x.Aux
+ p := x.Args[0]
+ mem := x.Args[1]
+ v_0_0_0_0_0_0_1 := v_0_0_0_0_0_0.Args[1]
+ if v_0_0_0_0_0_0_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].AuxInt != 8 {
+ if v_0_0_0_0_0_0_1.AuxInt != 8 {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_0_0_0_0_0_0_1_0 := v_0_0_0_0_0_0_1.Args[0]
+ if v_0_0_0_0_0_0_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].AuxInt != i+1 {
+ if v_0_0_0_0_0_0_1_0.AuxInt != i+1 {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Aux != s {
+ if v_0_0_0_0_0_0_1_0.Aux != s {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Args[0] != p {
+ if p != v_0_0_0_0_0_0_1_0.Args[0] {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Args[1] != mem {
+ if mem != v_0_0_0_0_0_0_1_0.Args[1] {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Op != OpAMD64SHLQconst {
+ v_0_0_0_0_0_1 := v_0_0_0_0_0.Args[1]
+ if v_0_0_0_0_0_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].AuxInt != 16 {
+ if v_0_0_0_0_0_1.AuxInt != 16 {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_0_0_0_0_0_1_0 := v_0_0_0_0_0_1.Args[0]
+ if v_0_0_0_0_0_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].AuxInt != i+2 {
+ if v_0_0_0_0_0_1_0.AuxInt != i+2 {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Aux != s {
+ if v_0_0_0_0_0_1_0.Aux != s {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Args[0] != p {
+ if p != v_0_0_0_0_0_1_0.Args[0] {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Args[1] != mem {
+ if mem != v_0_0_0_0_0_1_0.Args[1] {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[1].Op != OpAMD64SHLQconst {
+ v_0_0_0_0_1 := v_0_0_0_0.Args[1]
+ if v_0_0_0_0_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[1].AuxInt != 24 {
+ if v_0_0_0_0_1.AuxInt != 24 {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_0_0_0_0_1_0 := v_0_0_0_0_1.Args[0]
+ if v_0_0_0_0_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].AuxInt != i+3 {
+ if v_0_0_0_0_1_0.AuxInt != i+3 {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Aux != s {
+ if v_0_0_0_0_1_0.Aux != s {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Args[0] != p {
+ if p != v_0_0_0_0_1_0.Args[0] {
break
}
- if v.Args[0].Args[0].Args[0].Args[0].Args[1].Args[0].Args[1] != mem {
+ if mem != v_0_0_0_0_1_0.Args[1] {
break
}
- if v.Args[0].Args[0].Args[0].Args[1].Op != OpAMD64SHLQconst {
+ v_0_0_0_1 := v_0_0_0.Args[1]
+ if v_0_0_0_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[0].Args[0].Args[0].Args[1].AuxInt != 32 {
+ if v_0_0_0_1.AuxInt != 32 {
break
}
- if v.Args[0].Args[0].Args[0].Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_0_0_0_1_0 := v_0_0_0_1.Args[0]
+ if v_0_0_0_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[0].Args[0].Args[0].Args[1].Args[0].AuxInt != i+4 {
+ if v_0_0_0_1_0.AuxInt != i+4 {
break
}
- if v.Args[0].Args[0].Args[0].Args[1].Args[0].Aux != s {
+ if v_0_0_0_1_0.Aux != s {
break
}
- if v.Args[0].Args[0].Args[0].Args[1].Args[0].Args[0] != p {
+ if p != v_0_0_0_1_0.Args[0] {
break
}
- if v.Args[0].Args[0].Args[0].Args[1].Args[0].Args[1] != mem {
+ if mem != v_0_0_0_1_0.Args[1] {
break
}
- if v.Args[0].Args[0].Args[1].Op != OpAMD64SHLQconst {
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[0].Args[0].Args[1].AuxInt != 40 {
+ if v_0_0_1.AuxInt != 40 {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_0_0_1_0 := v_0_0_1.Args[0]
+ if v_0_0_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].AuxInt != i+5 {
+ if v_0_0_1_0.AuxInt != i+5 {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].Aux != s {
+ if v_0_0_1_0.Aux != s {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].Args[0] != p {
+ if p != v_0_0_1_0.Args[0] {
break
}
- if v.Args[0].Args[0].Args[1].Args[0].Args[1] != mem {
+ if mem != v_0_0_1_0.Args[1] {
break
}
- if v.Args[0].Args[1].Op != OpAMD64SHLQconst {
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[0].Args[1].AuxInt != 48 {
+ if v_0_1.AuxInt != 48 {
break
}
- if v.Args[0].Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_0_1_0 := v_0_1.Args[0]
+ if v_0_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[0].Args[1].Args[0].AuxInt != i+6 {
+ if v_0_1_0.AuxInt != i+6 {
break
}
- if v.Args[0].Args[1].Args[0].Aux != s {
+ if v_0_1_0.Aux != s {
break
}
- if v.Args[0].Args[1].Args[0].Args[0] != p {
+ if p != v_0_1_0.Args[0] {
break
}
- if v.Args[0].Args[1].Args[0].Args[1] != mem {
+ if mem != v_0_1_0.Args[1] {
break
}
- if v.Args[1].Op != OpAMD64SHLQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLQconst {
break
}
- if v.Args[1].AuxInt != 56 {
+ if v_1.AuxInt != 56 {
break
}
- if v.Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[1].Args[0].AuxInt != i+7 {
+ if v_1_0.AuxInt != i+7 {
break
}
- if v.Args[1].Args[0].Aux != s {
+ if v_1_0.Aux != s {
break
}
- if v.Args[1].Args[0].Args[0] != p {
+ if p != v_1_0.Args[0] {
break
}
- if v.Args[1].Args[0].Args[1] != mem {
+ if mem != v_1_0.Args[1] {
break
}
- b = v.Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpAMD64MOVQload, config.fe.TypeUInt64())
v.reset(OpCopy)
v.AddArg(v0)
// result: (MOVQconst [c|d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = c | d
return true
// result: (ORWconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64ORWconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (ORWconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64ORWconst)
v.AuxInt = c
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
v.AddArg(x)
return true
}
- // match: (ORW (MOVBQZXload [i] {s} p mem) (SHLWconst [8] (MOVBQZXload [i+1] {s} p mem)))
+ // match: (ORW x:(MOVBQZXload [i] {s} p mem) (SHLWconst [8] (MOVBQZXload [i+1] {s} p mem)))
// cond:
- // result: @v.Args[0].Block (MOVWload [i] {s} p mem)
+ // result: @x.Block (MOVWload [i] {s} p mem)
for {
- if v.Args[0].Op != OpAMD64MOVBQZXload {
+ x := v.Args[0]
+ if x.Op != OpAMD64MOVBQZXload {
break
}
- i := v.Args[0].AuxInt
- s := v.Args[0].Aux
- p := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
- if v.Args[1].Op != OpAMD64SHLWconst {
+ i := x.AuxInt
+ s := x.Aux
+ p := x.Args[0]
+ mem := x.Args[1]
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64SHLWconst {
break
}
- if v.Args[1].AuxInt != 8 {
+ if v_1.AuxInt != 8 {
break
}
- if v.Args[1].Args[0].Op != OpAMD64MOVBQZXload {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpAMD64MOVBQZXload {
break
}
- if v.Args[1].Args[0].AuxInt != i+1 {
+ if v_1_0.AuxInt != i+1 {
break
}
- if v.Args[1].Args[0].Aux != s {
+ if v_1_0.Aux != s {
break
}
- if v.Args[1].Args[0].Args[0] != p {
+ if p != v_1_0.Args[0] {
break
}
- if v.Args[1].Args[0].Args[1] != mem {
+ if mem != v_1_0.Args[1] {
break
}
- b = v.Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpAMD64MOVWload, config.fe.TypeUInt16())
v.reset(OpCopy)
v.AddArg(v0)
// result: (MOVWconst [c|d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVWconst)
v.AuxInt = c | d
return true
// result: (SARBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SARBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SARBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SARBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (MOVQconst [d>>uint64(c)])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = d >> uint64(c)
return true
// result: (SARLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SARLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SARLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SARLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (MOVQconst [d>>uint64(c)])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = d >> uint64(c)
return true
// result: (SARQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SARQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SARQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SARQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (MOVQconst [d>>uint64(c)])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = d >> uint64(c)
return true
// result: (SARWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SARWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SARWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SARWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SARWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (MOVQconst [d>>uint64(c)])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = d >> uint64(c)
return true
// cond:
// result: (MOVLconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVLconst)
// cond:
// result: (MOVLconst [-1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVLconst)
// cond:
// result: (MOVLconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVLconst)
// cond:
// result: (MOVLconst [-1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVLconst)
// cond:
// result: (MOVLconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVLconst)
// cond:
// result: (MOVQconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVQconst)
// cond:
// result: (MOVQconst [-1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVQconst)
// cond:
// result: (MOVQconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVQconst)
// cond:
// result: (MOVQconst [-1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVQconst)
// cond:
// result: (MOVQconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVQconst)
// cond:
// result: (SETB x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETB)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (SETBE x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETBE)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (SETA x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETA)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (SETAE x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETAE)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (SETEQ x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETEQ)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (SETL x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETL)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (SETLE x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETLE)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (SETG x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETG)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (SETGE x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETGE)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (SETNE x)
for {
- if v.Args[0].Op != OpAMD64InvertFlags {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64InvertFlags {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpAMD64SETNE)
v.AddArg(x)
return true
// cond:
// result: (MOVBconst [0])
for {
- if v.Args[0].Op != OpAMD64FlagEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagLT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_ULT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBconst)
// cond:
// result: (MOVBconst [1])
for {
- if v.Args[0].Op != OpAMD64FlagGT_UGT {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBconst)
// result: (SHLBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SHLQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SHLQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SHLQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SHLWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHLWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHLWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRBconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRBconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRLconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRLconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SHRQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SHRQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SHRQconst [c&63] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRQconst)
v.AuxInt = c & 63
v.AddArg(x)
// result: (SHRWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SHRWconst [c&31] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SHRWconst)
v.AuxInt = c & 31
v.AddArg(x)
// result: (SUBBconst x [c])
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SUBBconst)
v.AddArg(x)
v.AuxInt = c
// cond:
// result: (NEGB (SUBBconst <v.Type> x [c]))
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64NEGB)
v0 := b.NewValue0(v.Line, OpAMD64SUBBconst, v.Type)
// result: (MOVBconst [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpAMD64MOVBconst)
// result: (MOVBconst [d-c])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVBconst)
v.AuxInt = d - c
return true
// result: (ADDBconst [-c-d] x)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64SUBBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SUBBconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
v.reset(OpAMD64ADDBconst)
v.AuxInt = -c - d
v.AddArg(x)
// result: (SUBLconst x [c])
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SUBLconst)
v.AddArg(x)
v.AuxInt = c
// cond:
// result: (NEGL (SUBLconst <v.Type> x [c]))
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64NEGL)
v0 := b.NewValue0(v.Line, OpAMD64SUBLconst, v.Type)
// result: (MOVLconst [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpAMD64MOVLconst)
// result: (MOVLconst [d-c])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVLconst)
v.AuxInt = d - c
return true
// result: (ADDLconst [-c-d] x)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64SUBLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SUBLconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
v.reset(OpAMD64ADDLconst)
v.AuxInt = -c - d
v.AddArg(x)
// result: (SUBQconst x [c])
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(is32Bit(c)) {
break
}
// cond: is32Bit(c)
// result: (NEGQ (SUBQconst <v.Type> x [c]))
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
if !(is32Bit(c)) {
break
// result: (MOVQconst [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpAMD64MOVQconst)
// result: (MOVQconst [d-c])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = d - c
return true
// result: (ADDQconst [-c-d] x)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64SUBQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SUBQconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
if !(is32Bit(-c - d)) {
break
}
// result: (SUBWconst x [c])
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64SUBWconst)
v.AddArg(x)
v.AuxInt = c
// cond:
// result: (NEGW (SUBWconst <v.Type> x [c]))
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64NEGW)
v0 := b.NewValue0(v.Line, OpAMD64SUBWconst, v.Type)
// result: (MOVWconst [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpAMD64MOVWconst)
// result: (MOVWconst [d-c])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVWconst)
v.AuxInt = d - c
return true
// result: (ADDWconst [-c-d] x)
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64SUBWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SUBWconst {
break
}
- d := v.Args[0].AuxInt
- x := v.Args[0].Args[0]
+ d := v_0.AuxInt
+ x := v_0.Args[0]
v.reset(OpAMD64ADDWconst)
v.AuxInt = -c - d
v.AddArg(x)
// result: (XORBconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVBconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64XORBconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (XORBconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64XORBconst)
v.AuxInt = c
// result: (MOVBconst [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpAMD64MOVBconst)
// result: (MOVBconst [c^d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVBconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVBconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVBconst)
v.AuxInt = c ^ d
return true
// result: (XORLconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVLconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64XORLconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (XORLconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64XORLconst)
v.AuxInt = c
// result: (MOVLconst [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpAMD64MOVLconst)
// result: (MOVLconst [c^d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVLconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVLconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVLconst)
v.AuxInt = c ^ d
return true
// result: (XORQconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVQconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(is32Bit(c)) {
break
}
// cond: is32Bit(c)
// result: (XORQconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
if !(is32Bit(c)) {
break
// result: (MOVQconst [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpAMD64MOVQconst)
// result: (MOVQconst [c^d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVQconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVQconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVQconst)
v.AuxInt = c ^ d
return true
// result: (XORWconst [c] x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpAMD64MOVWconst {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpAMD64XORWconst)
v.AuxInt = c
v.AddArg(x)
// cond:
// result: (XORWconst [c] x)
for {
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
x := v.Args[1]
v.reset(OpAMD64XORWconst)
v.AuxInt = c
// result: (MOVWconst [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpAMD64MOVWconst)
// result: (MOVWconst [c^d])
for {
c := v.AuxInt
- if v.Args[0].Op != OpAMD64MOVWconst {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64MOVWconst {
break
}
- d := v.Args[0].AuxInt
+ d := v_0.AuxInt
v.reset(OpAMD64MOVWconst)
v.AuxInt = c ^ d
return true
// result: (NE (TESTB cond cond) yes no)
for {
v := b.Control
- cond := v
+ cond := b.Control
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64NE
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETL {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETL {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64LT
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETLE {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETLE {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64LE
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETG {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETG {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64GT
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETGE {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETGE {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64GE
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETEQ {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETEQ {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64EQ
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETNE {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETNE {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64NE
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETB {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETB {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64ULT
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETBE {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETBE {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64ULE
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETA {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETA {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64UGT
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETAE {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETAE {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64UGE
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETGF {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETGF {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64UGT
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETGEF {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETGEF {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64UGE
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETEQF {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETEQF {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64EQF
if v.Op != OpAMD64TESTB {
break
}
- if v.Args[0].Op != OpAMD64SETNEF {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAMD64SETNEF {
break
}
- cmp := v.Args[0].Args[0]
+ cmp := v_0.Args[0]
yes := b.Succs[0]
no := b.Succs[1]
b.Kind = BlockAMD64NEF
// cond:
// result: (Const16 [c+d])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst16)
v.AuxInt = c + d
return true
// result: (Add16 (Const16 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst16) {
break
}
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// cond:
// result: (Const32 [c+d])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst32)
v.AuxInt = c + d
return true
// result: (Add32 (Const32 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst32) {
break
}
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// cond:
// result: (Const32F [f2i(float64(i2f32(c) + i2f32(d)))])
for {
- if v.Args[0].Op != OpConst32F {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32F {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32F {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32F {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst32F)
v.AuxInt = f2i(float64(i2f32(c) + i2f32(d)))
return true
// cond:
// result: (Const64 [c+d])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst64)
v.AuxInt = c + d
return true
// result: (Add64 (Const64 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst64) {
break
}
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// cond:
// result: (Const64F [f2i(i2f(c) + i2f(d))])
for {
- if v.Args[0].Op != OpConst64F {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64F {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64F {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64F {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst64F)
v.AuxInt = f2i(i2f(c) + i2f(d))
return true
// cond:
// result: (Const8 [c+d])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst8)
v.AuxInt = c + d
return true
// result: (Add8 (Const8 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst8) {
break
}
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpOffPtr)
v.Type = t
v.AddArg(x)
// result: (And16 (Const16 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst16) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != -1 {
+ if v_0.AuxInt != -1 {
break
}
x := v.Args[1]
// cond:
// result: (Const16 [0])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst16)
// result: (And32 (Const32 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst32) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != -1 {
+ if v_0.AuxInt != -1 {
break
}
x := v.Args[1]
// cond:
// result: (Const32 [0])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst32)
// result: (And64 (Const64 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst64) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != -1 {
+ if v_0.AuxInt != -1 {
break
}
x := v.Args[1]
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// result: (Rsh64Ux64 (Lsh64x64 <t> x (Const64 <t> [nlz(y)])) (Const64 <t> [nlz(y)]))
for {
t := v.Type
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- y := v.Args[0].AuxInt
+ y := v_0.AuxInt
x := v.Args[1]
if !(nlz(y)+nto(y) == 64 && nto(y) >= 32) {
break
// result: (Lsh64x64 (Rsh64Ux64 <t> x (Const64 <t> [ntz(y)])) (Const64 <t> [ntz(y)]))
for {
t := v.Type
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- y := v.Args[0].AuxInt
+ y := v_0.AuxInt
x := v.Args[1]
if !(nlo(y)+ntz(y) == 64 && ntz(y) >= 32) {
break
// result: (And8 (Const8 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst8) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != -1 {
+ if v_0.AuxInt != -1 {
break
}
x := v.Args[1]
// cond:
// result: (Const8 [0])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst8)
func rewriteValuegeneric_OpArrayIndex(v *Value, config *Config) bool {
b := v.Block
_ = b
- // match: (ArrayIndex <t> [0] (Load ptr mem))
+ // match: (ArrayIndex <t> [0] x:(Load ptr mem))
// cond:
- // result: @v.Args[0].Block (Load <t> ptr mem)
+ // result: @x.Block (Load <t> ptr mem)
for {
t := v.Type
if v.AuxInt != 0 {
break
}
- if v.Args[0].Op != OpLoad {
+ x := v.Args[0]
+ if x.Op != OpLoad {
break
}
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
- b = v.Args[0].Block
+ ptr := x.Args[0]
+ mem := x.Args[1]
+ b = x.Block
v0 := b.NewValue0(v.Line, OpLoad, t)
v.reset(OpCopy)
v.AddArg(v0)
// cond:
// result: x
for {
- if v.Args[0].Op != OpCom16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpCom16 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
// cond:
// result: x
for {
- if v.Args[0].Op != OpCom32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpCom32 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
// cond:
// result: x
for {
- if v.Args[0].Op != OpCom64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpCom64 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
// cond:
// result: x
for {
- if v.Args[0].Op != OpCom8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpCom8 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
// cond:
// result: imag
for {
- if v.Args[0].Op != OpComplexMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpComplexMake {
break
}
- imag := v.Args[0].Args[1]
+ imag := v_0.Args[1]
v.reset(OpCopy)
v.Type = imag.Type
v.AddArg(imag)
// cond:
// result: real
for {
- if v.Args[0].Op != OpComplexMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpComplexMake {
break
}
- real := v.Args[0].Args[0]
+ real := v_0.Args[0]
v.reset(OpCopy)
v.Type = real.Type
v.AddArg(real)
// cond:
// result: (Add64 ptr off)
for {
- if v.Args[0].Op != OpAdd64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd64 {
break
}
- if v.Args[0].Args[0].Op != OpConvert {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConvert {
break
}
- ptr := v.Args[0].Args[0].Args[0]
- mem := v.Args[0].Args[0].Args[1]
- off := v.Args[0].Args[1]
- if v.Args[1] != mem {
+ ptr := v_0_0.Args[0]
+ mem := v_0_0.Args[1]
+ off := v_0.Args[1]
+ if mem != v.Args[1] {
break
}
v.reset(OpAdd64)
// cond:
// result: (Add64 ptr off)
for {
- if v.Args[0].Op != OpAdd64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd64 {
break
}
- off := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConvert {
+ off := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConvert {
break
}
- ptr := v.Args[0].Args[1].Args[0]
- mem := v.Args[0].Args[1].Args[1]
- if v.Args[1] != mem {
+ ptr := v_0_1.Args[0]
+ mem := v_0_1.Args[1]
+ if mem != v.Args[1] {
break
}
v.reset(OpAdd64)
// cond:
// result: ptr
for {
- if v.Args[0].Op != OpConvert {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConvert {
break
}
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
- if v.Args[1] != mem {
+ ptr := v_0.Args[0]
+ mem := v_0.Args[1]
+ if mem != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: (Const64F [c])
for {
- if v.Args[0].Op != OpConst32F {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32F {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpConst64F)
v.AuxInt = c
return true
// cond:
// result: (Const32F [f2i(float64(i2f32(c)))])
for {
- if v.Args[0].Op != OpConst64F {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64F {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpConst32F)
v.AuxInt = f2i(float64(i2f32(c)))
return true
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(c > 0 && smagic64ok(c) && smagic64m(c) > 0) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(c > 0 && smagic64ok(c) && smagic64m(c) < 0) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(c < 0 && smagic64ok(c) && smagic64m(c) > 0) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(c < 0 && smagic64ok(c) && smagic64m(c) < 0) {
break
}
for {
t := v.Type
n := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(isPowerOfTwo(c)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(umagic64ok(c) && !umagic64a(c)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(umagic64ok(c) && umagic64a(c)) {
break
}
// result: (ConstBool [1])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond:
// result: (Eq16 (Const16 <t> [c-d]) x)
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd16 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd16 {
break
}
- if v.Args[1].Args[0].Op != OpConst16 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst16 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpEq16)
v0 := b.NewValue0(v.Line, OpConst16, t)
v0.AuxInt = c - d
// result: (Eq16 (Const16 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst16) {
break
}
// cond:
// result: (ConstBool [b2i(int16(c) == int16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int16(c) == int16(d))
return true
// result: (ConstBool [1])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond:
// result: (Eq32 (Const32 <t> [c-d]) x)
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd32 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd32 {
break
}
- if v.Args[1].Args[0].Op != OpConst32 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst32 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpEq32)
v0 := b.NewValue0(v.Line, OpConst32, t)
v0.AuxInt = c - d
// result: (Eq32 (Const32 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst32) {
break
}
// cond:
// result: (ConstBool [b2i(int32(c) == int32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int32(c) == int32(d))
return true
// result: (ConstBool [1])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond:
// result: (Eq64 (Const64 <t> [c-d]) x)
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd64 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd64 {
break
}
- if v.Args[1].Args[0].Op != OpConst64 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst64 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpEq64)
v0 := b.NewValue0(v.Line, OpConst64, t)
v0.AuxInt = c - d
// result: (Eq64 (Const64 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst64) {
break
}
// cond:
// result: (ConstBool [b2i(int64(c) == int64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int64(c) == int64(d))
return true
// result: (ConstBool [1])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond:
// result: (ConstBool [b2i((int8(c) != 0) == (int8(d) != 0))])
for {
- if v.Args[0].Op != OpConstBool {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConstBool {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConstBool {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConstBool {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i((int8(c) != 0) == (int8(d) != 0))
return true
// cond:
// result: (Not x)
for {
- if v.Args[0].Op != OpConstBool {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConstBool {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// cond:
// result: x
for {
- if v.Args[0].Op != OpConstBool {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConstBool {
break
}
- if v.Args[0].AuxInt != 1 {
+ if v_0.AuxInt != 1 {
break
}
x := v.Args[1]
// cond:
// result: (Eq8 (Const8 <t> [c-d]) x)
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd8 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd8 {
break
}
- if v.Args[1].Args[0].Op != OpConst8 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst8 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpEq8)
v0 := b.NewValue0(v.Line, OpConst8, t)
v0.AuxInt = c - d
// result: (Eq8 (Const8 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst8) {
break
}
// result: (Eq8 (ConstBool <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConstBool {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConstBool {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConstBool) {
break
}
// cond:
// result: (ConstBool [b2i(int8(c) == int8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int8(c) == int8(d))
return true
// result: (Not (IsNonNil p))
for {
p := v.Args[0]
- if v.Args[1].Op != OpConstNil {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConstNil {
break
}
v.reset(OpNot)
// cond:
// result: (Not (IsNonNil p))
for {
- if v.Args[0].Op != OpConstNil {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConstNil {
break
}
p := v.Args[1]
// cond:
// result: (ConstBool [b2i(int16(c) >= int16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int16(c) >= int16(d))
return true
// cond:
// result: (ConstBool [b2i(uint16(c) >= uint16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint16(c) >= uint16(d))
return true
// cond:
// result: (ConstBool [b2i(int32(c) >= int32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int32(c) >= int32(d))
return true
// cond:
// result: (ConstBool [b2i(uint32(c) >= uint32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint32(c) >= uint32(d))
return true
// cond:
// result: (ConstBool [b2i(int64(c) >= int64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int64(c) >= int64(d))
return true
// cond:
// result: (ConstBool [b2i(uint64(c) >= uint64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint64(c) >= uint64(d))
return true
// cond:
// result: (ConstBool [b2i(int8(c) >= int8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int8(c) >= int8(d))
return true
// cond:
// result: (ConstBool [b2i(uint8(c) >= uint8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint8(c) >= uint8(d))
return true
// cond:
// result: (ConstBool [b2i(int16(c) > int16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int16(c) > int16(d))
return true
// cond:
// result: (ConstBool [b2i(uint16(c) > uint16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint16(c) > uint16(d))
return true
// cond:
// result: (ConstBool [b2i(int32(c) > int32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int32(c) > int32(d))
return true
// cond:
// result: (ConstBool [b2i(uint32(c) > uint32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint32(c) > uint32(d))
return true
// cond:
// result: (ConstBool [b2i(int64(c) > int64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int64(c) > int64(d))
return true
// cond:
// result: (ConstBool [b2i(uint64(c) > uint64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint64(c) > uint64(d))
return true
// cond:
// result: (ConstBool [b2i(int8(c) > int8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int8(c) > int8(d))
return true
// cond:
// result: (ConstBool [b2i(uint8(c) > uint8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint8(c) > uint8(d))
return true
// cond:
// result: data
for {
- if v.Args[0].Op != OpIMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpIMake {
break
}
- data := v.Args[0].Args[1]
+ data := v_0.Args[1]
v.reset(OpCopy)
v.Type = data.Type
v.AddArg(data)
// cond:
// result: itab
for {
- if v.Args[0].Op != OpIMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpIMake {
break
}
- itab := v.Args[0].Args[0]
+ itab := v_0.Args[0]
v.reset(OpCopy)
v.Type = itab.Type
v.AddArg(itab)
// result: (ConstBool [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond: inBounds32(c, d)
// result: (ConstBool [1])
for {
- if v.Args[0].Op != OpAnd32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd32 {
break
}
- if v.Args[0].Args[0].Op != OpConst32 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst32 {
break
}
- c := v.Args[0].Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(inBounds32(c, d)) {
break
}
// cond: inBounds64(c, d)
// result: (ConstBool [1])
for {
- if v.Args[0].Op != OpAnd64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd64 {
break
}
- if v.Args[0].Args[0].Op != OpConst64 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst64 {
break
}
- c := v.Args[0].Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(inBounds64(c, d)) {
break
}
// cond:
// result: (ConstBool [b2i(inBounds32(c,d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(inBounds32(c, d))
return true
// cond:
// result: (ConstBool [b2i(inBounds64(c,d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(inBounds64(c, d))
return true
// result: (ConstBool [1])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond: sliceInBounds32(c, d)
// result: (ConstBool [1])
for {
- if v.Args[0].Op != OpAnd32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd32 {
break
}
- if v.Args[0].Args[0].Op != OpConst32 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst32 {
break
}
- c := v.Args[0].Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(sliceInBounds32(c, d)) {
break
}
// cond: sliceInBounds64(c, d)
// result: (ConstBool [1])
for {
- if v.Args[0].Op != OpAnd64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd64 {
break
}
- if v.Args[0].Args[0].Op != OpConst64 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst64 {
break
}
- c := v.Args[0].Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(sliceInBounds64(c, d)) {
break
}
// cond:
// result: (ConstBool [1])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConstBool)
// cond:
// result: (ConstBool [1])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConstBool)
// cond:
// result: (ConstBool [b2i(sliceInBounds32(c,d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(sliceInBounds32(c, d))
return true
// cond:
// result: (ConstBool [b2i(sliceInBounds64(c,d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(sliceInBounds64(c, d))
return true
// cond:
// result: (ConstBool [1])
for {
- if v.Args[0].Op != OpSliceLen {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSliceLen {
break
}
- x := v.Args[0].Args[0]
- if v.Args[1].Op != OpSliceCap {
+ x := v_0.Args[0]
+ v_1 := v.Args[1]
+ if v_1.Op != OpSliceCap {
break
}
- if v.Args[1].Args[0] != x {
+ if x != v_1.Args[0] {
break
}
v.reset(OpConstBool)
// cond:
// result: (ConstBool [b2i(int16(c) <= int16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int16(c) <= int16(d))
return true
// cond:
// result: (ConstBool [b2i(uint16(c) <= uint16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint16(c) <= uint16(d))
return true
// cond:
// result: (ConstBool [b2i(int32(c) <= int32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int32(c) <= int32(d))
return true
// cond:
// result: (ConstBool [b2i(uint32(c) <= uint32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint32(c) <= uint32(d))
return true
// cond:
// result: (ConstBool [b2i(int64(c) <= int64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int64(c) <= int64(d))
return true
// cond:
// result: (ConstBool [b2i(uint64(c) <= uint64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint64(c) <= uint64(d))
return true
// cond:
// result: (ConstBool [b2i(int8(c) <= int8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int8(c) <= int8(d))
return true
// cond:
// result: (ConstBool [b2i(uint8(c) <= uint8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint8(c) <= uint8(d))
return true
// cond:
// result: (ConstBool [b2i(int16(c) < int16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int16(c) < int16(d))
return true
// cond:
// result: (ConstBool [b2i(uint16(c) < uint16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint16(c) < uint16(d))
return true
// cond:
// result: (ConstBool [b2i(int32(c) < int32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int32(c) < int32(d))
return true
// cond:
// result: (ConstBool [b2i(uint32(c) < uint32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint32(c) < uint32(d))
return true
// cond:
// result: (ConstBool [b2i(int64(c) < int64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int64(c) < int64(d))
return true
// cond:
// result: (ConstBool [b2i(uint64(c) < uint64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint64(c) < uint64(d))
return true
// cond:
// result: (ConstBool [b2i(int8(c) < int8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int8(c) < int8(d))
return true
// cond:
// result: (ConstBool [b2i(uint8(c) < uint8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(uint8(c) < uint8(d))
return true
for {
t1 := v.Type
p1 := v.Args[0]
- if v.Args[1].Op != OpStore {
+ v_1 := v.Args[1]
+ if v_1.Op != OpStore {
break
}
- w := v.Args[1].AuxInt
- p2 := v.Args[1].Args[0]
- x := v.Args[1].Args[1]
+ w := v_1.AuxInt
+ p2 := v_1.Args[0]
+ x := v_1.Args[1]
if !(isSamePtr(p1, p2) && t1.Compare(x.Type) == CMPeq && w == t1.Size()) {
break
}
// cond: c1 >= c2 && c3 >= c2
// result: (Lsh16x16 x (Const16 <config.fe.TypeUInt16()> [c1-c2+c3]))
for {
- if v.Args[0].Op != OpRsh16Ux16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh16Ux16 {
break
}
- if v.Args[0].Args[0].Op != OpLsh16x16 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpLsh16x16 {
break
}
- x := v.Args[0].Args[0].Args[0]
- if v.Args[0].Args[0].Args[1].Op != OpConst16 {
+ x := v_0_0.Args[0]
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpConst16 {
break
}
- c1 := v.Args[0].Args[0].Args[1].AuxInt
- if v.Args[0].Args[1].Op != OpConst16 {
+ c1 := v_0_0_1.AuxInt
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst16 {
break
}
- c2 := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c2 := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c3 := v.Args[1].AuxInt
+ c3 := v_1.AuxInt
if !(c1 >= c2 && c3 >= c2) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh16x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh16x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const16 [int64(int16(c) << uint64(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst16)
v.AuxInt = int64(int16(c) << uint64(d))
return true
// cond:
// result: (Const16 [0])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst16)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// cond: uint64(c) >= 16
// result: (Const16 [0])
for {
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(uint64(c) >= 16) {
break
}
// result: (Lsh16x64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpLsh16x64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpLsh16x64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh16x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh32x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond: c1 >= c2 && c3 >= c2
// result: (Lsh32x32 x (Const32 <config.fe.TypeUInt32()> [c1-c2+c3]))
for {
- if v.Args[0].Op != OpRsh32Ux32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh32Ux32 {
break
}
- if v.Args[0].Args[0].Op != OpLsh32x32 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpLsh32x32 {
break
}
- x := v.Args[0].Args[0].Args[0]
- if v.Args[0].Args[0].Args[1].Op != OpConst32 {
+ x := v_0_0.Args[0]
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpConst32 {
break
}
- c1 := v.Args[0].Args[0].Args[1].AuxInt
- if v.Args[0].Args[1].Op != OpConst32 {
+ c1 := v_0_0_1.AuxInt
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst32 {
break
}
- c2 := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c2 := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c3 := v.Args[1].AuxInt
+ c3 := v_1.AuxInt
if !(c1 >= c2 && c3 >= c2) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh32x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const32 [int64(int32(c) << uint64(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst32)
v.AuxInt = int64(int32(c) << uint64(d))
return true
// cond:
// result: (Const32 [0])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst32)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// cond: uint64(c) >= 32
// result: (Const32 [0])
for {
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(uint64(c) >= 32) {
break
}
// result: (Lsh32x64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpLsh32x64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpLsh32x64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh32x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh64x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh64x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// cond:
// result: (Const64 [c << uint64(d)])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst64)
v.AuxInt = c << uint64(d)
return true
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// cond: c1 >= c2 && c3 >= c2
// result: (Lsh64x64 x (Const64 <config.fe.TypeUInt64()> [c1-c2+c3]))
for {
- if v.Args[0].Op != OpRsh64Ux64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh64Ux64 {
break
}
- if v.Args[0].Args[0].Op != OpLsh64x64 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpLsh64x64 {
break
}
- x := v.Args[0].Args[0].Args[0]
- if v.Args[0].Args[0].Args[1].Op != OpConst64 {
+ x := v_0_0.Args[0]
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpConst64 {
break
}
- c1 := v.Args[0].Args[0].Args[1].AuxInt
- if v.Args[0].Args[1].Op != OpConst64 {
+ c1 := v_0_0_1.AuxInt
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c2 := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c2 := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c3 := v.Args[1].AuxInt
+ c3 := v_1.AuxInt
if !(c1 >= c2 && c3 >= c2) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// cond: uint64(c) >= 64
// result: (Const64 [0])
for {
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(uint64(c) >= 64) {
break
}
// result: (Lsh64x64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpLsh64x64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpLsh64x64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh64x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh8x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh8x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const8 [int64(int8(c) << uint64(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst8)
v.AuxInt = int64(int8(c) << uint64(d))
return true
// cond:
// result: (Const8 [0])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst8)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// cond: uint64(c) >= 8
// result: (Const8 [0])
for {
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(uint64(c) >= 8) {
break
}
// result: (Lsh8x64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpLsh8x64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpLsh8x64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
// cond: c1 >= c2 && c3 >= c2
// result: (Lsh8x8 x (Const8 <config.fe.TypeUInt8()> [c1-c2+c3]))
for {
- if v.Args[0].Op != OpRsh8Ux8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh8Ux8 {
break
}
- if v.Args[0].Args[0].Op != OpLsh8x8 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpLsh8x8 {
break
}
- x := v.Args[0].Args[0].Args[0]
- if v.Args[0].Args[0].Args[1].Op != OpConst8 {
+ x := v_0_0.Args[0]
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpConst8 {
break
}
- c1 := v.Args[0].Args[0].Args[1].AuxInt
- if v.Args[0].Args[1].Op != OpConst8 {
+ c1 := v_0_0_1.AuxInt
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst8 {
break
}
- c2 := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c2 := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c3 := v.Args[1].AuxInt
+ c3 := v_1.AuxInt
if !(c1 >= c2 && c3 >= c2) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpLsh8x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(smagic64ok(c)) {
break
}
for {
t := v.Type
n := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(isPowerOfTwo(c)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(umagic64ok(c)) {
break
}
// cond:
// result: (Const16 [c*d])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst16)
v.AuxInt = c * d
return true
// result: (Mul16 (Const16 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst16) {
break
}
// cond:
// result: (Const16 [0])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst16)
// cond:
// result: (Const32 [c*d])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst32)
v.AuxInt = c * d
return true
// result: (Mul32 (Const32 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst32) {
break
}
// cond:
// result: (Add32 (Const32 <t> [c*d]) (Mul32 <t> (Const32 <t> [c]) x))
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd32 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd32 {
break
}
- if v.Args[1].Type != t {
+ if v_1.Type != t {
break
}
- if v.Args[1].Args[0].Op != OpConst32 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst32 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpAdd32)
v0 := b.NewValue0(v.Line, OpConst32, t)
v0.AuxInt = c * d
// cond:
// result: (Const32 [0])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst32)
// cond:
// result: (Const32F [f2i(float64(i2f32(c) * i2f32(d)))])
for {
- if v.Args[0].Op != OpConst32F {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32F {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32F {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32F {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst32F)
v.AuxInt = f2i(float64(i2f32(c) * i2f32(d)))
return true
// cond:
// result: (Const64 [c*d])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst64)
v.AuxInt = c * d
return true
// result: (Mul64 (Const64 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst64) {
break
}
// cond:
// result: (Add64 (Const64 <t> [c*d]) (Mul64 <t> (Const64 <t> [c]) x))
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd64 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd64 {
break
}
- if v.Args[1].Type != t {
+ if v_1.Type != t {
break
}
- if v.Args[1].Args[0].Op != OpConst64 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst64 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpAdd64)
v0 := b.NewValue0(v.Line, OpConst64, t)
v0.AuxInt = c * d
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// cond:
// result: (Const64F [f2i(i2f(c) * i2f(d))])
for {
- if v.Args[0].Op != OpConst64F {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64F {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64F {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64F {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst64F)
v.AuxInt = f2i(i2f(c) * i2f(d))
return true
// cond:
// result: (Const8 [c*d])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst8)
v.AuxInt = c * d
return true
// result: (Mul8 (Const8 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst8) {
break
}
// cond:
// result: (Const8 [0])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst8)
// cond:
// result: (Sub16 y x)
for {
- if v.Args[0].Op != OpSub16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSub16 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
v.reset(OpSub16)
v.AddArg(y)
v.AddArg(x)
// cond:
// result: (Sub32 y x)
for {
- if v.Args[0].Op != OpSub32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSub32 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
v.reset(OpSub32)
v.AddArg(y)
v.AddArg(x)
// cond:
// result: (Sub64 y x)
for {
- if v.Args[0].Op != OpSub64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSub64 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
v.reset(OpSub64)
v.AddArg(y)
v.AddArg(x)
// cond:
// result: (Sub8 y x)
for {
- if v.Args[0].Op != OpSub8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSub8 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
+ x := v_0.Args[0]
+ y := v_0.Args[1]
v.reset(OpSub8)
v.AddArg(y)
v.AddArg(x)
// result: (ConstBool [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond:
// result: (Neq16 (Const16 <t> [c-d]) x)
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd16 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd16 {
break
}
- if v.Args[1].Args[0].Op != OpConst16 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst16 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpNeq16)
v0 := b.NewValue0(v.Line, OpConst16, t)
v0.AuxInt = c - d
// result: (Neq16 (Const16 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst16) {
break
}
// cond:
// result: (ConstBool [b2i(int16(c) != int16(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int16(c) != int16(d))
return true
// result: (ConstBool [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond:
// result: (Neq32 (Const32 <t> [c-d]) x)
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd32 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd32 {
break
}
- if v.Args[1].Args[0].Op != OpConst32 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst32 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpNeq32)
v0 := b.NewValue0(v.Line, OpConst32, t)
v0.AuxInt = c - d
// result: (Neq32 (Const32 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst32) {
break
}
// cond:
// result: (ConstBool [b2i(int32(c) != int32(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int32(c) != int32(d))
return true
// result: (ConstBool [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond:
// result: (Neq64 (Const64 <t> [c-d]) x)
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd64 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd64 {
break
}
- if v.Args[1].Args[0].Op != OpConst64 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst64 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpNeq64)
v0 := b.NewValue0(v.Line, OpConst64, t)
v0.AuxInt = c - d
// result: (Neq64 (Const64 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst64) {
break
}
// cond:
// result: (ConstBool [b2i(int64(c) != int64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int64(c) != int64(d))
return true
// result: (ConstBool [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConstBool)
// cond:
// result: (ConstBool [b2i((int8(c) != 0) != (int8(d) != 0))])
for {
- if v.Args[0].Op != OpConstBool {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConstBool {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConstBool {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConstBool {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i((int8(c) != 0) != (int8(d) != 0))
return true
// cond:
// result: x
for {
- if v.Args[0].Op != OpConstBool {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConstBool {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// cond:
// result: (Not x)
for {
- if v.Args[0].Op != OpConstBool {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConstBool {
break
}
- if v.Args[0].AuxInt != 1 {
+ if v_0.AuxInt != 1 {
break
}
x := v.Args[1]
// cond:
// result: (Neq8 (Const8 <t> [c-d]) x)
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- t := v.Args[0].Type
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpAdd8 {
+ t := v_0.Type
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpAdd8 {
break
}
- if v.Args[1].Args[0].Op != OpConst8 {
+ v_1_0 := v_1.Args[0]
+ if v_1_0.Op != OpConst8 {
break
}
- if v.Args[1].Args[0].Type != t {
+ if v_1_0.Type != t {
break
}
- d := v.Args[1].Args[0].AuxInt
- x := v.Args[1].Args[1]
+ d := v_1_0.AuxInt
+ x := v_1.Args[1]
v.reset(OpNeq8)
v0 := b.NewValue0(v.Line, OpConst8, t)
v0.AuxInt = c - d
// result: (Neq8 (Const8 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst8) {
break
}
// result: (Neq8 (ConstBool <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConstBool {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConstBool {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConstBool) {
break
}
// cond:
// result: (ConstBool [b2i(int8(c) != int8(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConstBool)
v.AuxInt = b2i(int8(c) != int8(d))
return true
// result: (IsNonNil p)
for {
p := v.Args[0]
- if v.Args[1].Op != OpConstNil {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConstNil {
break
}
v.reset(OpIsNonNil)
// cond:
// result: (IsNonNil p)
for {
- if v.Args[0].Op != OpConstNil {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConstNil {
break
}
p := v.Args[1]
func rewriteValuegeneric_OpNilCheck(v *Value, config *Config) bool {
b := v.Block
_ = b
- // match: (NilCheck (Phi x (Add64 (Const64 [c]) y)) mem)
- // cond: c > 0 && v.Args[0] == y
+ // match: (NilCheck z:(Phi x (Add64 (Const64 [c]) y)) mem)
+ // cond: c > 0 && z == y
// result: (NilCheck x mem)
for {
- if v.Args[0].Op != OpPhi {
+ z := v.Args[0]
+ if z.Op != OpPhi {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpAdd64 {
+ x := z.Args[0]
+ z_1 := z.Args[1]
+ if z_1.Op != OpAdd64 {
break
}
- if v.Args[0].Args[1].Args[0].Op != OpConst64 {
+ z_1_0 := z_1.Args[0]
+ if z_1_0.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].Args[0].AuxInt
- y := v.Args[0].Args[1].Args[1]
- if len(v.Args[0].Args) != 2 {
+ c := z_1_0.AuxInt
+ y := z_1.Args[1]
+ if len(z.Args) != 2 {
break
}
mem := v.Args[1]
- if !(c > 0 && v.Args[0] == y) {
+ if !(c > 0 && z == y) {
break
}
v.reset(OpNilCheck)
// cond:
// result: (OffPtr p [a+b])
for {
- if v.Args[0].Op != OpOffPtr {
+ v_0 := v.Args[0]
+ if v_0.Op != OpOffPtr {
break
}
- p := v.Args[0].Args[0]
- b := v.Args[0].AuxInt
+ p := v_0.Args[0]
+ b := v_0.AuxInt
a := v.AuxInt
v.reset(OpOffPtr)
v.AddArg(p)
// result: (Or16 (Const16 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst16) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// cond:
// result: (Const16 [-1])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != -1 {
+ if v_0.AuxInt != -1 {
break
}
v.reset(OpConst16)
// result: (Or32 (Const32 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst32) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// cond:
// result: (Const32 [-1])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != -1 {
+ if v_0.AuxInt != -1 {
break
}
v.reset(OpConst32)
// result: (Or64 (Const64 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst64) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// cond:
// result: (Const64 [-1])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != -1 {
+ if v_0.AuxInt != -1 {
break
}
v.reset(OpConst64)
// result: (Or8 (Const8 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst8) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// cond:
// result: (Const8 [-1])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != -1 {
+ if v_0.AuxInt != -1 {
break
}
v.reset(OpConst8)
// cond: int8(c) == int8(d)
// result: (Const8 [c])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if len(v.Args) != 2 {
break
}
// cond: int16(c) == int16(d)
// result: (Const16 [c])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if len(v.Args) != 2 {
break
}
// cond: int32(c) == int32(d)
// result: (Const32 [c])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if len(v.Args) != 2 {
break
}
// cond:
// result: (Const64 [c])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != c {
+ if v_1.AuxInt != c {
break
}
if len(v.Args) != 2 {
// cond: c1 >= c2 && c3 >= c2
// result: (Rsh16Ux16 x (Const16 <config.fe.TypeUInt16()> [c1-c2+c3]))
for {
- if v.Args[0].Op != OpLsh16x16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpLsh16x16 {
break
}
- if v.Args[0].Args[0].Op != OpRsh16Ux16 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpRsh16Ux16 {
break
}
- x := v.Args[0].Args[0].Args[0]
- if v.Args[0].Args[0].Args[1].Op != OpConst16 {
+ x := v_0_0.Args[0]
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpConst16 {
break
}
- c1 := v.Args[0].Args[0].Args[1].AuxInt
- if v.Args[0].Args[1].Op != OpConst16 {
+ c1 := v_0_0_1.AuxInt
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst16 {
break
}
- c2 := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c2 := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c3 := v.Args[1].AuxInt
+ c3 := v_1.AuxInt
if !(c1 >= c2 && c3 >= c2) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh16Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh16Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const16 [int64(uint16(c) >> uint64(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst16)
v.AuxInt = int64(uint16(c) >> uint64(d))
return true
// cond:
// result: (Const16 [0])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst16)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// cond: uint64(c) >= 16
// result: (Const16 [0])
for {
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(uint64(c) >= 16) {
break
}
// result: (Rsh16Ux64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpRsh16Ux64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh16Ux64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh16Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh16x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh16x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const16 [int64(int16(c) >> uint64(d))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst16)
v.AuxInt = int64(int16(c) >> uint64(d))
return true
// cond:
// result: (Const16 [0])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst16)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// result: (Rsh16x64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpRsh16x64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh16x64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh16x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh32Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond: c1 >= c2 && c3 >= c2
// result: (Rsh32Ux32 x (Const32 <config.fe.TypeUInt32()> [c1-c2+c3]))
for {
- if v.Args[0].Op != OpLsh32x32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpLsh32x32 {
break
}
- if v.Args[0].Args[0].Op != OpRsh32Ux32 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpRsh32Ux32 {
break
}
- x := v.Args[0].Args[0].Args[0]
- if v.Args[0].Args[0].Args[1].Op != OpConst32 {
+ x := v_0_0.Args[0]
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpConst32 {
break
}
- c1 := v.Args[0].Args[0].Args[1].AuxInt
- if v.Args[0].Args[1].Op != OpConst32 {
+ c1 := v_0_0_1.AuxInt
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst32 {
break
}
- c2 := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c2 := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c3 := v.Args[1].AuxInt
+ c3 := v_1.AuxInt
if !(c1 >= c2 && c3 >= c2) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh32Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const32 [int64(uint32(c) >> uint64(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst32)
v.AuxInt = int64(uint32(c) >> uint64(d))
return true
// cond:
// result: (Const32 [0])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst32)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// cond: uint64(c) >= 32
// result: (Const32 [0])
for {
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(uint64(c) >= 32) {
break
}
// result: (Rsh32Ux64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpRsh32Ux64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh32Ux64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh32Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh32x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh32x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const32 [int64(int32(c) >> uint64(d))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst32)
v.AuxInt = int64(int32(c) >> uint64(d))
return true
// cond:
// result: (Const32 [0])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst32)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// result: (Rsh32x64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpRsh32x64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh32x64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh32x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh64Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh64Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// cond:
// result: (Const64 [int64(uint64(c) >> uint64(d))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst64)
v.AuxInt = int64(uint64(c) >> uint64(d))
return true
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// cond: c1 >= c2 && c3 >= c2
// result: (Rsh64Ux64 x (Const64 <config.fe.TypeUInt64()> [c1-c2+c3]))
for {
- if v.Args[0].Op != OpLsh64x64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpLsh64x64 {
break
}
- if v.Args[0].Args[0].Op != OpRsh64Ux64 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpRsh64Ux64 {
break
}
- x := v.Args[0].Args[0].Args[0]
- if v.Args[0].Args[0].Args[1].Op != OpConst64 {
+ x := v_0_0.Args[0]
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpConst64 {
break
}
- c1 := v.Args[0].Args[0].Args[1].AuxInt
- if v.Args[0].Args[1].Op != OpConst64 {
+ c1 := v_0_0_1.AuxInt
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c2 := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c2 := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c3 := v.Args[1].AuxInt
+ c3 := v_1.AuxInt
if !(c1 >= c2 && c3 >= c2) {
break
}
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// cond: uint64(c) >= 64
// result: (Const64 [0])
for {
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(uint64(c) >= 64) {
break
}
// result: (Rsh64Ux64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpRsh64Ux64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh64Ux64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh64Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh64x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh64x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// cond:
// result: (Const64 [c >> uint64(d)])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst64)
v.AuxInt = c >> uint64(d)
return true
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
// result: (Rsh64x64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpRsh64x64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh64x64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh64x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 [0])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst64)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh8Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh8Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const8 [int64(uint8(c) >> uint64(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst8)
v.AuxInt = int64(uint8(c) >> uint64(d))
return true
// cond:
// result: (Const8 [0])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst8)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// cond: uint64(c) >= 8
// result: (Const8 [0])
for {
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
if !(uint64(c) >= 8) {
break
}
// result: (Rsh8Ux64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpRsh8Ux64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh8Ux64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
// cond: c1 >= c2 && c3 >= c2
// result: (Rsh8Ux8 x (Const8 <config.fe.TypeUInt8()> [c1-c2+c3]))
for {
- if v.Args[0].Op != OpLsh8x8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpLsh8x8 {
break
}
- if v.Args[0].Args[0].Op != OpRsh8Ux8 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpRsh8Ux8 {
break
}
- x := v.Args[0].Args[0].Args[0]
- if v.Args[0].Args[0].Args[1].Op != OpConst8 {
+ x := v_0_0.Args[0]
+ v_0_0_1 := v_0_0.Args[1]
+ if v_0_0_1.Op != OpConst8 {
break
}
- c1 := v.Args[0].Args[0].Args[1].AuxInt
- if v.Args[0].Args[1].Op != OpConst8 {
+ c1 := v_0_0_1.AuxInt
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst8 {
break
}
- c2 := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c2 := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c3 := v.Args[1].AuxInt
+ c3 := v_1.AuxInt
if !(c1 >= c2 && c3 >= c2) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh8Ux64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh8x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh8x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const8 [int64(int8(c) >> uint64(d))])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst8)
v.AuxInt = int64(int8(c) >> uint64(d))
return true
// cond:
// result: (Const8 [0])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
v.reset(OpConst8)
// result: x
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- if v.Args[1].AuxInt != 0 {
+ if v_1.AuxInt != 0 {
break
}
v.reset(OpCopy)
// result: (Rsh8x64 x (Const64 <t> [c+d]))
for {
t := v.Type
- if v.Args[0].Op != OpRsh8x64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpRsh8x64 {
break
}
- x := v.Args[0].Args[0]
- if v.Args[0].Args[1].Op != OpConst64 {
+ x := v_0.Args[0]
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- c := v.Args[0].Args[1].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0_1.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
if !(!uaddOvf(c, d)) {
break
}
for {
t := v.Type
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- c := v.Args[1].AuxInt
+ c := v_1.AuxInt
v.reset(OpRsh8x64)
v.AddArg(x)
v0 := b.NewValue0(v.Line, OpConst64, t)
// cond:
// result: (Const64 <t> [c])
for {
- if v.Args[0].Op != OpSliceMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSliceMake {
break
}
- if v.Args[0].Args[2].Op != OpConst64 {
+ v_0_2 := v_0.Args[2]
+ if v_0_2.Op != OpConst64 {
break
}
- t := v.Args[0].Args[2].Type
- c := v.Args[0].Args[2].AuxInt
+ t := v_0_2.Type
+ c := v_0_2.AuxInt
v.reset(OpConst64)
v.Type = t
v.AuxInt = c
// cond:
// result: (SliceCap x)
for {
- if v.Args[0].Op != OpSliceMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSliceMake {
break
}
- if v.Args[0].Args[2].Op != OpSliceCap {
+ v_0_2 := v_0.Args[2]
+ if v_0_2.Op != OpSliceCap {
break
}
- x := v.Args[0].Args[2].Args[0]
+ x := v_0_2.Args[0]
v.reset(OpSliceCap)
v.AddArg(x)
return true
// cond:
// result: (Const64 <t> [c])
for {
- if v.Args[0].Op != OpSliceMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSliceMake {
break
}
- if v.Args[0].Args[1].Op != OpConst64 {
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- t := v.Args[0].Args[1].Type
- c := v.Args[0].Args[1].AuxInt
+ t := v_0_1.Type
+ c := v_0_1.AuxInt
v.reset(OpConst64)
v.Type = t
v.AuxInt = c
// cond:
// result: (SliceLen x)
for {
- if v.Args[0].Op != OpSliceMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSliceMake {
break
}
- if v.Args[0].Args[1].Op != OpSliceLen {
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpSliceLen {
break
}
- x := v.Args[0].Args[1].Args[0]
+ x := v_0_1.Args[0]
v.reset(OpSliceLen)
v.AddArg(x)
return true
// cond:
// result: (Const64 <t> [c])
for {
- if v.Args[0].Op != OpSliceMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSliceMake {
break
}
- if v.Args[0].Args[0].Op != OpConst64 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst64 {
break
}
- t := v.Args[0].Args[0].Type
- c := v.Args[0].Args[0].AuxInt
+ t := v_0_0.Type
+ c := v_0_0.AuxInt
v.reset(OpConst64)
v.Type = t
v.AuxInt = c
// cond:
// result: (SlicePtr x)
for {
- if v.Args[0].Op != OpSliceMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpSliceMake {
break
}
- if v.Args[0].Args[0].Op != OpSlicePtr {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpSlicePtr {
break
}
- x := v.Args[0].Args[0].Args[0]
+ x := v_0_0.Args[0]
v.reset(OpSlicePtr)
v.AddArg(x)
return true
// cond:
// result: mem
for {
- if v.Args[1].Op != OpStructMake0 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpStructMake0 {
break
}
mem := v.Args[2]
// result: (Store [t.FieldType(0).Size()] dst f0 mem)
for {
dst := v.Args[0]
- if v.Args[1].Op != OpStructMake1 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpStructMake1 {
break
}
- t := v.Args[1].Type
- f0 := v.Args[1].Args[0]
+ t := v_1.Type
+ f0 := v_1.Args[0]
mem := v.Args[2]
v.reset(OpStore)
v.AuxInt = t.FieldType(0).Size()
// result: (Store [t.FieldType(1).Size()] (OffPtr <t.FieldType(1).PtrTo()> [t.FieldOff(1)] dst) f1 (Store [t.FieldType(0).Size()] dst f0 mem))
for {
dst := v.Args[0]
- if v.Args[1].Op != OpStructMake2 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpStructMake2 {
break
}
- t := v.Args[1].Type
- f0 := v.Args[1].Args[0]
- f1 := v.Args[1].Args[1]
+ t := v_1.Type
+ f0 := v_1.Args[0]
+ f1 := v_1.Args[1]
mem := v.Args[2]
v.reset(OpStore)
v.AuxInt = t.FieldType(1).Size()
// result: (Store [t.FieldType(2).Size()] (OffPtr <t.FieldType(2).PtrTo()> [t.FieldOff(2)] dst) f2 (Store [t.FieldType(1).Size()] (OffPtr <t.FieldType(1).PtrTo()> [t.FieldOff(1)] dst) f1 (Store [t.FieldType(0).Size()] dst f0 mem)))
for {
dst := v.Args[0]
- if v.Args[1].Op != OpStructMake3 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpStructMake3 {
break
}
- t := v.Args[1].Type
- f0 := v.Args[1].Args[0]
- f1 := v.Args[1].Args[1]
- f2 := v.Args[1].Args[2]
+ t := v_1.Type
+ f0 := v_1.Args[0]
+ f1 := v_1.Args[1]
+ f2 := v_1.Args[2]
mem := v.Args[2]
v.reset(OpStore)
v.AuxInt = t.FieldType(2).Size()
// result: (Store [t.FieldType(3).Size()] (OffPtr <t.FieldType(3).PtrTo()> [t.FieldOff(3)] dst) f3 (Store [t.FieldType(2).Size()] (OffPtr <t.FieldType(2).PtrTo()> [t.FieldOff(2)] dst) f2 (Store [t.FieldType(1).Size()] (OffPtr <t.FieldType(1).PtrTo()> [t.FieldOff(1)] dst) f1 (Store [t.FieldType(0).Size()] dst f0 mem))))
for {
dst := v.Args[0]
- if v.Args[1].Op != OpStructMake4 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpStructMake4 {
break
}
- t := v.Args[1].Type
- f0 := v.Args[1].Args[0]
- f1 := v.Args[1].Args[1]
- f2 := v.Args[1].Args[2]
- f3 := v.Args[1].Args[3]
+ t := v_1.Type
+ f0 := v_1.Args[0]
+ f1 := v_1.Args[1]
+ f2 := v_1.Args[2]
+ f3 := v_1.Args[3]
mem := v.Args[2]
v.reset(OpStore)
v.AuxInt = t.FieldType(3).Size()
break
}
dst := v.Args[0]
- if v.Args[1].Op != OpComplexMake {
+ v_1 := v.Args[1]
+ if v_1.Op != OpComplexMake {
break
}
- real := v.Args[1].Args[0]
- imag := v.Args[1].Args[1]
+ real := v_1.Args[0]
+ imag := v_1.Args[1]
mem := v.Args[2]
v.reset(OpStore)
v.AuxInt = 4
break
}
dst := v.Args[0]
- if v.Args[1].Op != OpComplexMake {
+ v_1 := v.Args[1]
+ if v_1.Op != OpComplexMake {
break
}
- real := v.Args[1].Args[0]
- imag := v.Args[1].Args[1]
+ real := v_1.Args[0]
+ imag := v_1.Args[1]
mem := v.Args[2]
v.reset(OpStore)
v.AuxInt = 8
break
}
dst := v.Args[0]
- if v.Args[1].Op != OpStringMake {
+ v_1 := v.Args[1]
+ if v_1.Op != OpStringMake {
break
}
- ptr := v.Args[1].Args[0]
- len := v.Args[1].Args[1]
+ ptr := v_1.Args[0]
+ len := v_1.Args[1]
mem := v.Args[2]
v.reset(OpStore)
v.AuxInt = config.PtrSize
break
}
dst := v.Args[0]
- if v.Args[1].Op != OpSliceMake {
+ v_1 := v.Args[1]
+ if v_1.Op != OpSliceMake {
break
}
- ptr := v.Args[1].Args[0]
- len := v.Args[1].Args[1]
- cap := v.Args[1].Args[2]
+ ptr := v_1.Args[0]
+ len := v_1.Args[1]
+ cap := v_1.Args[2]
mem := v.Args[2]
v.reset(OpStore)
v.AuxInt = config.PtrSize
break
}
dst := v.Args[0]
- if v.Args[1].Op != OpIMake {
+ v_1 := v.Args[1]
+ if v_1.Op != OpIMake {
break
}
- itab := v.Args[1].Args[0]
- data := v.Args[1].Args[1]
+ itab := v_1.Args[0]
+ data := v_1.Args[1]
mem := v.Args[2]
v.reset(OpStore)
v.AuxInt = config.PtrSize
for {
size := v.AuxInt
dst := v.Args[0]
- if v.Args[1].Op != OpLoad {
+ v_1 := v.Args[1]
+ if v_1.Op != OpLoad {
break
}
- t := v.Args[1].Type
- src := v.Args[1].Args[0]
- mem := v.Args[1].Args[1]
- if v.Args[2] != mem {
+ t := v_1.Type
+ src := v_1.Args[0]
+ mem := v_1.Args[1]
+ if mem != v.Args[2] {
break
}
if !(!config.fe.CanSSA(t)) {
for {
size := v.AuxInt
dst := v.Args[0]
- if v.Args[1].Op != OpLoad {
+ v_1 := v.Args[1]
+ if v_1.Op != OpLoad {
break
}
- t := v.Args[1].Type
- src := v.Args[1].Args[0]
- mem := v.Args[1].Args[1]
- if v.Args[2].Op != OpVarDef {
+ t := v_1.Type
+ src := v_1.Args[0]
+ mem := v_1.Args[1]
+ v_2 := v.Args[2]
+ if v_2.Op != OpVarDef {
break
}
- x := v.Args[2].Aux
- if v.Args[2].Args[0] != mem {
+ x := v_2.Aux
+ if mem != v_2.Args[0] {
break
}
if !(!config.fe.CanSSA(t)) {
// cond:
// result: (Const64 <t> [c])
for {
- if v.Args[0].Op != OpStringMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStringMake {
break
}
- if v.Args[0].Args[1].Op != OpConst64 {
+ v_0_1 := v_0.Args[1]
+ if v_0_1.Op != OpConst64 {
break
}
- t := v.Args[0].Args[1].Type
- c := v.Args[0].Args[1].AuxInt
+ t := v_0_1.Type
+ c := v_0_1.AuxInt
v.reset(OpConst64)
v.Type = t
v.AuxInt = c
// cond:
// result: (Const64 <t> [c])
for {
- if v.Args[0].Op != OpStringMake {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStringMake {
break
}
- if v.Args[0].Args[0].Op != OpConst64 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst64 {
break
}
- t := v.Args[0].Args[0].Type
- c := v.Args[0].Args[0].AuxInt
+ t := v_0_0.Type
+ c := v_0_0.AuxInt
v.reset(OpConst64)
v.Type = t
v.AuxInt = c
// cond:
// result: x
for {
- if v.Args[0].Op != OpStructMake1 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake1 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
if v.AuxInt != 0 {
break
}
- if v.Args[0].Op != OpStructMake2 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake2 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
if v.AuxInt != 1 {
break
}
- if v.Args[0].Op != OpStructMake2 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake2 {
break
}
- x := v.Args[0].Args[1]
+ x := v_0.Args[1]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
if v.AuxInt != 0 {
break
}
- if v.Args[0].Op != OpStructMake3 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake3 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
if v.AuxInt != 1 {
break
}
- if v.Args[0].Op != OpStructMake3 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake3 {
break
}
- x := v.Args[0].Args[1]
+ x := v_0.Args[1]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
if v.AuxInt != 2 {
break
}
- if v.Args[0].Op != OpStructMake3 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake3 {
break
}
- x := v.Args[0].Args[2]
+ x := v_0.Args[2]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
if v.AuxInt != 0 {
break
}
- if v.Args[0].Op != OpStructMake4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake4 {
break
}
- x := v.Args[0].Args[0]
+ x := v_0.Args[0]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
if v.AuxInt != 1 {
break
}
- if v.Args[0].Op != OpStructMake4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake4 {
break
}
- x := v.Args[0].Args[1]
+ x := v_0.Args[1]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
if v.AuxInt != 2 {
break
}
- if v.Args[0].Op != OpStructMake4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake4 {
break
}
- x := v.Args[0].Args[2]
+ x := v_0.Args[2]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
if v.AuxInt != 3 {
break
}
- if v.Args[0].Op != OpStructMake4 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpStructMake4 {
break
}
- x := v.Args[0].Args[3]
+ x := v_0.Args[3]
v.reset(OpCopy)
v.Type = x.Type
v.AddArg(x)
return true
}
- // match: (StructSelect [i] (Load <t> ptr mem))
+ // match: (StructSelect [i] x:(Load <t> ptr mem))
// cond: !config.fe.CanSSA(t)
- // result: @v.Args[0].Block (Load <v.Type> (OffPtr <v.Type.PtrTo()> [t.FieldOff(int(i))] ptr) mem)
+ // result: @x.Block (Load <v.Type> (OffPtr <v.Type.PtrTo()> [t.FieldOff(int(i))] ptr) mem)
for {
i := v.AuxInt
- if v.Args[0].Op != OpLoad {
+ x := v.Args[0]
+ if x.Op != OpLoad {
break
}
- t := v.Args[0].Type
- ptr := v.Args[0].Args[0]
- mem := v.Args[0].Args[1]
+ t := x.Type
+ ptr := x.Args[0]
+ mem := x.Args[1]
if !(!config.fe.CanSSA(t)) {
break
}
- b = v.Args[0].Block
+ b = x.Block
v0 := b.NewValue0(v.Line, OpLoad, v.Type)
v.reset(OpCopy)
v.AddArg(v0)
// cond:
// result: (Const16 [c-d])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst16 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst16)
v.AuxInt = c - d
return true
// result: (Add16 (Const16 <t> [-c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst16) {
break
}
// result: (Const16 [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConst16)
// cond:
// result: y
for {
- if v.Args[0].Op != OpAdd16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd16 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
- if v.Args[1] != x {
+ x := v_0.Args[0]
+ y := v_0.Args[1]
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpAdd16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd16 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
- if v.Args[1] != y {
+ x := v_0.Args[0]
+ y := v_0.Args[1]
+ if y != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: (Const32 [c-d])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst32)
v.AuxInt = c - d
return true
// result: (Add32 (Const32 <t> [-c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst32) {
break
}
// result: (Const32 [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConst32)
// cond:
// result: y
for {
- if v.Args[0].Op != OpAdd32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd32 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
- if v.Args[1] != x {
+ x := v_0.Args[0]
+ y := v_0.Args[1]
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpAdd32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd32 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
- if v.Args[1] != y {
+ x := v_0.Args[0]
+ y := v_0.Args[1]
+ if y != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: (Const32F [f2i(float64(i2f32(c) - i2f32(d)))])
for {
- if v.Args[0].Op != OpConst32F {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32F {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst32F {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32F {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst32F)
v.AuxInt = f2i(float64(i2f32(c) - i2f32(d)))
return true
// cond:
// result: (Const64 [c-d])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst64)
v.AuxInt = c - d
return true
// result: (Add64 (Const64 <t> [-c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst64) {
break
}
// result: (Const64 [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConst64)
// cond:
// result: y
for {
- if v.Args[0].Op != OpAdd64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd64 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
- if v.Args[1] != x {
+ x := v_0.Args[0]
+ y := v_0.Args[1]
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpAdd64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd64 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
- if v.Args[1] != y {
+ x := v_0.Args[0]
+ y := v_0.Args[1]
+ if y != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: (Const64F [f2i(i2f(c) - i2f(d))])
for {
- if v.Args[0].Op != OpConst64F {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64F {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst64F {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64F {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst64F)
v.AuxInt = f2i(i2f(c) - i2f(d))
return true
// cond:
// result: (Const8 [c-d])
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- c := v.Args[0].AuxInt
- if v.Args[1].Op != OpConst8 {
+ c := v_0.AuxInt
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- d := v.Args[1].AuxInt
+ d := v_1.AuxInt
v.reset(OpConst8)
v.AuxInt = c - d
return true
// result: (Add8 (Const8 <t> [-c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst8) {
break
}
// result: (Const8 [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConst8)
// cond:
// result: y
for {
- if v.Args[0].Op != OpAdd8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd8 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
- if v.Args[1] != x {
+ x := v_0.Args[0]
+ y := v_0.Args[1]
+ if x != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: x
for {
- if v.Args[0].Op != OpAdd8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAdd8 {
break
}
- x := v.Args[0].Args[0]
- y := v.Args[0].Args[1]
- if v.Args[1] != y {
+ x := v_0.Args[0]
+ y := v_0.Args[1]
+ if y != v.Args[1] {
break
}
v.reset(OpCopy)
// cond:
// result: (Const8 [int64(int8(c))])
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpConst8)
v.AuxInt = int64(int8(c))
return true
// cond: y&0xFF == 0xFF
// result: (Trunc16to8 x)
for {
- if v.Args[0].Op != OpAnd16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd16 {
break
}
- if v.Args[0].Args[0].Op != OpConst16 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst16 {
break
}
- y := v.Args[0].Args[0].AuxInt
- x := v.Args[0].Args[1]
+ y := v_0_0.AuxInt
+ x := v_0.Args[1]
if !(y&0xFF == 0xFF) {
break
}
// cond:
// result: (Const16 [int64(int16(c))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpConst16)
v.AuxInt = int64(int16(c))
return true
// cond: y&0xFFFF == 0xFFFF
// result: (Trunc32to16 x)
for {
- if v.Args[0].Op != OpAnd32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd32 {
break
}
- if v.Args[0].Args[0].Op != OpConst32 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst32 {
break
}
- y := v.Args[0].Args[0].AuxInt
- x := v.Args[0].Args[1]
+ y := v_0_0.AuxInt
+ x := v_0.Args[1]
if !(y&0xFFFF == 0xFFFF) {
break
}
// cond:
// result: (Const8 [int64(int8(c))])
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpConst8)
v.AuxInt = int64(int8(c))
return true
// cond: y&0xFF == 0xFF
// result: (Trunc32to8 x)
for {
- if v.Args[0].Op != OpAnd32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd32 {
break
}
- if v.Args[0].Args[0].Op != OpConst32 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst32 {
break
}
- y := v.Args[0].Args[0].AuxInt
- x := v.Args[0].Args[1]
+ y := v_0_0.AuxInt
+ x := v_0.Args[1]
if !(y&0xFF == 0xFF) {
break
}
// cond:
// result: (Const16 [int64(int16(c))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpConst16)
v.AuxInt = int64(int16(c))
return true
// cond: y&0xFFFF == 0xFFFF
// result: (Trunc64to16 x)
for {
- if v.Args[0].Op != OpAnd64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd64 {
break
}
- if v.Args[0].Args[0].Op != OpConst64 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst64 {
break
}
- y := v.Args[0].Args[0].AuxInt
- x := v.Args[0].Args[1]
+ y := v_0_0.AuxInt
+ x := v_0.Args[1]
if !(y&0xFFFF == 0xFFFF) {
break
}
// cond:
// result: (Const32 [int64(int32(c))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpConst32)
v.AuxInt = int64(int32(c))
return true
// cond: y&0xFFFFFFFF == 0xFFFFFFFF
// result: (Trunc64to32 x)
for {
- if v.Args[0].Op != OpAnd64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd64 {
break
}
- if v.Args[0].Args[0].Op != OpConst64 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst64 {
break
}
- y := v.Args[0].Args[0].AuxInt
- x := v.Args[0].Args[1]
+ y := v_0_0.AuxInt
+ x := v_0.Args[1]
if !(y&0xFFFFFFFF == 0xFFFFFFFF) {
break
}
// cond:
// result: (Const8 [int64(int8(c))])
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- c := v.Args[0].AuxInt
+ c := v_0.AuxInt
v.reset(OpConst8)
v.AuxInt = int64(int8(c))
return true
// cond: y&0xFF == 0xFF
// result: (Trunc64to8 x)
for {
- if v.Args[0].Op != OpAnd64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpAnd64 {
break
}
- if v.Args[0].Args[0].Op != OpConst64 {
+ v_0_0 := v_0.Args[0]
+ if v_0_0.Op != OpConst64 {
break
}
- y := v.Args[0].Args[0].AuxInt
- x := v.Args[0].Args[1]
+ y := v_0_0.AuxInt
+ x := v_0.Args[1]
if !(y&0xFF == 0xFF) {
break
}
// result: (Xor16 (Const16 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst16 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst16 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst16) {
break
}
// result: (Const16 [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConst16)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst16 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst16 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// result: (Xor32 (Const32 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst32 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst32 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst32) {
break
}
// result: (Const32 [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConst32)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst32 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst32 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// result: (Xor64 (Const64 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst64 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst64 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst64) {
break
}
// result: (Const64 [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConst64)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst64 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst64 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
// result: (Xor8 (Const8 <t> [c]) x)
for {
x := v.Args[0]
- if v.Args[1].Op != OpConst8 {
+ v_1 := v.Args[1]
+ if v_1.Op != OpConst8 {
break
}
- t := v.Args[1].Type
- c := v.Args[1].AuxInt
+ t := v_1.Type
+ c := v_1.AuxInt
if !(x.Op != OpConst8) {
break
}
// result: (Const8 [0])
for {
x := v.Args[0]
- if v.Args[1] != x {
+ if x != v.Args[1] {
break
}
v.reset(OpConst8)
// cond:
// result: x
for {
- if v.Args[0].Op != OpConst8 {
+ v_0 := v.Args[0]
+ if v_0.Op != OpConst8 {
break
}
- if v.Args[0].AuxInt != 0 {
+ if v_0.AuxInt != 0 {
break
}
x := v.Args[1]
if v.Op != OpNilCheck {
break
}
- if v.Args[0].Op != OpGetG {
+ v_0 := v.Args[0]
+ if v_0.Op != OpGetG {
break
}
next := b.Succs[0]