}
// Generate a new control value (or copy an existing value).
- genControls[i] = genResult0(rr, arch, control, false, false, newpos)
+ genControls[i] = genResult0(rr, arch, control, false, false, newpos, nil)
}
switch outdata.controls {
case 0:
rr.add(stmtf("b = %s", s[0]))
result = s[1]
}
- genResult0(rr, arch, result, true, move, pos)
+ cse := make(map[string]string)
+ genResult0(rr, arch, result, true, move, pos, cse)
}
-func genResult0(rr *RuleRewrite, arch arch, result string, top, move bool, pos string) string {
+func genResult0(rr *RuleRewrite, arch arch, result string, top, move bool, pos string, cse map[string]string) string {
resname, expr := splitNameExpr(result)
result = expr
// TODO: when generating a constant result, use f.constVal to avoid
return result
}
+ w := normalizeWhitespace(result)
+ if prev := cse[w]; prev != "" {
+ return prev
+ }
+
op, oparch, typ, auxint, aux, args := parseValue(result, arch, rr.Loc)
// Find the type of the variable.
}
all := new(strings.Builder)
for i, arg := range args {
- x := genResult0(rr, arch, arg, false, move, pos)
+ x := genResult0(rr, arch, arg, false, move, pos, cse)
if i > 0 {
all.WriteString(", ")
}
default:
rr.add(stmtf("%s.AddArg%d(%s)", v, len(args), all.String()))
}
+
+ if cse != nil {
+ cse[w] = v
+ }
return v
}
v.reset(Op386LEAL8)
v0 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
v0.AddArg2(x, x)
- v1 := b.NewValue0(v.Pos, Op386LEAL2, v.Type)
- v1.AddArg2(x, x)
- v.AddArg2(v0, v1)
+ v.AddArg2(v0, v0)
return true
}
// match: (MULLconst [37] x)
v.reset(Op386LEAL8)
v0 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
v0.AddArg2(x, x)
- v1 := b.NewValue0(v.Pos, Op386LEAL4, v.Type)
- v1.AddArg2(x, x)
- v.AddArg2(v0, v1)
+ v.AddArg2(v0, v0)
return true
}
// match: (MULLconst [73] x)
v.reset(Op386LEAL8)
v0 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
v0.AddArg2(x, x)
- v1 := b.NewValue0(v.Pos, Op386LEAL8, v.Type)
- v1.AddArg2(x, x)
- v.AddArg2(v0, v1)
+ v.AddArg2(v0, v0)
return true
}
// match: (MULLconst [c] x)
v.reset(OpAMD64LEAL8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type)
v0.AddArg2(x, x)
- v1 := b.NewValue0(v.Pos, OpAMD64LEAL2, v.Type)
- v1.AddArg2(x, x)
- v.AddArg2(v0, v1)
+ v.AddArg2(v0, v0)
return true
}
// match: (MULLconst [37] x)
v.reset(OpAMD64LEAL8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type)
v0.AddArg2(x, x)
- v1 := b.NewValue0(v.Pos, OpAMD64LEAL4, v.Type)
- v1.AddArg2(x, x)
- v.AddArg2(v0, v1)
+ v.AddArg2(v0, v0)
return true
}
// match: (MULLconst [73] x)
v.reset(OpAMD64LEAL8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type)
v0.AddArg2(x, x)
- v1 := b.NewValue0(v.Pos, OpAMD64LEAL8, v.Type)
- v1.AddArg2(x, x)
- v.AddArg2(v0, v1)
+ v.AddArg2(v0, v0)
return true
}
// match: (MULLconst [c] x)
v.reset(OpAMD64LEAQ8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
v0.AddArg2(x, x)
- v1 := b.NewValue0(v.Pos, OpAMD64LEAQ2, v.Type)
- v1.AddArg2(x, x)
- v.AddArg2(v0, v1)
+ v.AddArg2(v0, v0)
return true
}
// match: (MULQconst [37] x)
v.reset(OpAMD64LEAQ8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
v0.AddArg2(x, x)
- v1 := b.NewValue0(v.Pos, OpAMD64LEAQ4, v.Type)
- v1.AddArg2(x, x)
- v.AddArg2(v0, v1)
+ v.AddArg2(v0, v0)
return true
}
// match: (MULQconst [73] x)
v.reset(OpAMD64LEAQ8)
v0 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
v0.AddArg2(x, x)
- v1 := b.NewValue0(v.Pos, OpAMD64LEAQ8, v.Type)
- v1.AddArg2(x, x)
- v.AddArg2(v0, v1)
+ v.AddArg2(v0, v0)
return true
}
// match: (MULQconst [c] x)
v0.AuxInt = int32ToAuxInt(1)
v1 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt32)
v1.AddArg(x)
- v2 := b.NewValue0(v.Pos, OpAMD64MOVWQZX, typ.UInt32)
- v2.AddArg(x)
- v0.AddArg2(v1, v2)
+ v0.AddArg2(v1, v1)
v.AddArg(v0)
return true
}
v1.AuxInt = int32ToAuxInt(1)
v2 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64)
v2.AddArg(x)
- v3 := b.NewValue0(v.Pos, OpAMD64MOVLQZX, typ.UInt64)
- v3.AddArg(x)
- v1.AddArg2(v2, v3)
+ v1.AddArg2(v2, v2)
v0.AddArg(v1)
v.AddArg(v0)
return true
v3 := b.NewValue0(v.Pos, OpAMD64MOVQconst, t)
v3.AuxInt = int64ToAuxInt(-1)
v4 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
- v5 := b.NewValue0(v.Pos, OpAMD64BSRQ, types.NewTuple(typ.UInt64, types.TypeFlags))
- v5.AddArg(x)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v0.AddArg3(v1, v3, v4)
v.AddArg(v0)
return true
v0.AuxInt = int32ToAuxInt(1)
v1 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt32)
v1.AddArg(x)
- v2 := b.NewValue0(v.Pos, OpAMD64MOVBQZX, typ.UInt32)
- v2.AddArg(x)
- v0.AddArg2(v1, v2)
+ v0.AddArg2(v1, v1)
v.AddArg(v0)
return true
}
v2 := b.NewValue0(v.Pos, OpAMD64MOVQconst, t)
v2.AuxInt = int64ToAuxInt(64)
v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
- v4 := b.NewValue0(v.Pos, OpAMD64BSFQ, types.NewTuple(typ.UInt64, types.TypeFlags))
- v4.AddArg(x)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v1 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
v1.AuxInt = int128ToAuxInt(0)
v2 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
- v3 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
- v3.AuxInt = int128ToAuxInt(0)
- v2.AddArg3(destptr, v3, mem)
+ v2.AddArg3(destptr, v1, mem)
v.AddArg3(v0, v1, v2)
return true
}
v3 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v3.AuxInt = int64ToAuxInt(16)
v3.AddArg(destptr)
- v4 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
- v4.AuxInt = int128ToAuxInt(0)
- v5 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
- v6 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
- v6.AuxInt = int128ToAuxInt(0)
- v5.AddArg3(destptr, v6, mem)
- v2.AddArg3(v3, v4, v5)
+ v4 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
+ v4.AddArg3(destptr, v1, mem)
+ v2.AddArg3(v3, v1, v4)
v.AddArg3(v0, v1, v2)
return true
}
v3 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
v3.AuxInt = int64ToAuxInt(32)
v3.AddArg(destptr)
- v4 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
- v4.AuxInt = int128ToAuxInt(0)
- v5 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
- v6 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
- v6.AuxInt = int64ToAuxInt(16)
- v6.AddArg(destptr)
- v7 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
- v7.AuxInt = int128ToAuxInt(0)
- v8 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
- v9 := b.NewValue0(v.Pos, OpAMD64MOVOconst, types.TypeInt128)
- v9.AuxInt = int128ToAuxInt(0)
- v8.AddArg3(destptr, v9, mem)
- v5.AddArg3(v6, v7, v8)
- v2.AddArg3(v3, v4, v5)
+ v4 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
+ v5 := b.NewValue0(v.Pos, OpOffPtr, destptr.Type)
+ v5.AuxInt = int64ToAuxInt(16)
+ v5.AddArg(destptr)
+ v6 := b.NewValue0(v.Pos, OpAMD64MOVOstore, types.TypeMem)
+ v6.AddArg3(destptr, v1, mem)
+ v4.AddArg3(v5, v1, v6)
+ v2.AddArg3(v3, v1, v4)
v.AddArg3(v0, v1, v2)
return true
}
v3.AddArg(x)
v4 := b.NewValue0(v.Pos, OpARMRSBconst, typ.UInt32)
v4.AuxInt = 0
- v5 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32)
- v5.AuxInt = 0x10000
- v5.AddArg(x)
- v4.AddArg(v5)
+ v4.AddArg(v3)
v2.AddArg2(v3, v4)
v1.AddArg(v2)
v0.AddArg(v1)
v3.AddArg(x)
v4 := b.NewValue0(v.Pos, OpARMRSBconst, typ.UInt32)
v4.AuxInt = 0
- v5 := b.NewValue0(v.Pos, OpARMORconst, typ.UInt32)
- v5.AuxInt = 0x100
- v5.AddArg(x)
- v4.AddArg(v5)
+ v4.AddArg(v3)
v2.AddArg2(v3, v4)
v1.AddArg(v2)
v0.AddArg(v1)
v5 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v5.AddArg(x)
v4.AddArg2(x, v5)
- v6 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v6.AddArg(x)
- v3.AddArg2(v4, v6)
- v7 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32)
- v8 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v9 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v9.AddArg(y)
- v8.AddArg2(y, v9)
- v10 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v10.AddArg(y)
- v7.AddArg2(v8, v10)
- v2.AddArg2(v3, v7)
+ v3.AddArg2(v4, v5)
+ v6 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32)
+ v7 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
+ v8 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
+ v8.AddArg(y)
+ v7.AddArg2(y, v8)
+ v6.AddArg2(v7, v8)
+ v2.AddArg2(v3, v6)
v1.AddArg(v2)
- v11 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v12 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v12.AddArg2(x, y)
- v11.AddArg(v12)
- v0.AddArg2(v1, v11)
- v13 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v14 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v14.AddArg2(x, y)
- v13.AddArg(v14)
- v.AddArg2(v0, v13)
+ v9 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
+ v10 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
+ v10.AddArg2(x, y)
+ v9.AddArg(v10)
+ v0.AddArg2(v1, v9)
+ v.AddArg2(v0, v9)
return true
}
}
v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
- v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v3.AddArg(y)
- v2.AddArg(v3)
+ v2.AddArg(v1)
v.AddArg2(v0, v2)
return true
}
v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
- v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v3.AddArg(y)
- v2.AddArg(v3)
+ v2.AddArg(v1)
v.AddArg2(v0, v2)
return true
}
v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
- v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v3.AddArg(y)
- v2.AddArg(v3)
+ v2.AddArg(v1)
v.AddArg2(v0, v2)
return true
}
v5 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
v5.AddArg(x)
v4.AddArg2(x, v5)
- v6 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v6.AddArg(x)
- v3.AddArg2(v4, v6)
- v7 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32)
- v8 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
- v9 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v9.AddArg(y)
- v8.AddArg2(y, v9)
- v10 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v10.AddArg(y)
- v7.AddArg2(v8, v10)
- v2.AddArg2(v3, v7)
+ v3.AddArg2(v4, v5)
+ v6 := b.NewValue0(v.Pos, OpARMSUB, typ.UInt32)
+ v7 := b.NewValue0(v.Pos, OpARMXOR, typ.UInt32)
+ v8 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
+ v8.AddArg(y)
+ v7.AddArg2(y, v8)
+ v6.AddArg2(v7, v8)
+ v2.AddArg2(v3, v6)
v1.AddArg(v2)
- v11 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v11.AddArg(x)
- v0.AddArg2(v1, v11)
- v12 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v12.AddArg(x)
- v.AddArg2(v0, v12)
+ v0.AddArg2(v1, v5)
+ v.AddArg2(v0, v5)
return true
}
}
v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v3.AuxInt = 256
- v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v2)
v.AddArg2(v0, v3)
return true
}
v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
- v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v3.AddArg(y)
- v2.AddArg(v3)
+ v2.AddArg(v1)
v.AddArg3(v0, v1, v2)
return true
}
v0.AddArg2(x, v1)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
- v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v3.AddArg(y)
- v2.AddArg(v3)
+ v2.AddArg(v1)
v.AddArg2(v0, v2)
return true
}
v0.AddArg(y)
v1 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v1.AuxInt = 256
- v2 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v2.AddArg(y)
- v1.AddArg(v2)
+ v1.AddArg(v0)
v.AddArg3(x, v0, v1)
return true
}
v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v3.AuxInt = 256
- v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v2)
v.AddArg2(v0, v3)
return true
}
v1.AddArg(y)
v2 := b.NewValue0(v.Pos, OpARMCMPconst, types.TypeFlags)
v2.AuxInt = 256
- v3 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v3.AddArg(y)
- v2.AddArg(v3)
+ v2.AddArg(v1)
v.AddArg3(v0, v1, v2)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARMMOVHstore, types.TypeMem)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v1.AuxInt = 2
- v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
- v2.AuxInt = 0
+ v2 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
+ v2.AuxInt = 1
v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
- v3.AuxInt = 1
- v4 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
- v4.AuxInt = 0
- v5 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
- v5.AuxInt = 0
- v6 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
- v6.AuxInt = 0
- v5.AddArg3(ptr, v6, mem)
- v3.AddArg3(ptr, v4, v5)
- v1.AddArg3(ptr, v2, v3)
+ v3.AuxInt = 0
+ v3.AddArg3(ptr, v0, mem)
+ v2.AddArg3(ptr, v0, v3)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v1.AuxInt = 1
- v2 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
+ v2 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpARMMOVBstore, types.TypeMem)
- v3.AuxInt = 0
- v4 := b.NewValue0(v.Pos, OpARMMOVWconst, typ.UInt32)
- v4.AuxInt = 0
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v3.AuxInt = 0
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = 0
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = 0
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = 63
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v3.AuxInt = 63
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v3.AuxInt = 63
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v3.AuxInt = 0
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = 0
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = 0
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = 63
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v3.AuxInt = 63
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v3.AuxInt = 63
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 0
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = 63
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v0.AddArg3(v1, v2, v3)
v.AddArg2(x, v0)
return true
v2.AuxInt = 63
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v0.AddArg3(v1, v2, v3)
v.AddArg2(x, v0)
return true
v2.AuxInt = 63
v3 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v3.AuxInt = 64
- v4 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v0.AddArg3(v1, v2, v3)
v.AddArg2(x, v0)
return true
v3.AuxInt = 0
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = 0
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = 0
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = 63
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v3.AuxInt = 63
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v3.AuxInt = 63
v4 := b.NewValue0(v.Pos, OpARM64CMPconst, types.TypeFlags)
v4.AuxInt = 64
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
v1.AuxInt = 4
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v4.AuxInt = 0
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
v1.AuxInt = 8
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v4.AuxInt = 0
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
v1.AuxInt = 8
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v4.AuxInt = 0
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
v1.AuxInt = 8
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v4.AuxInt = 0
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpARM64MOVHstore, types.TypeMem)
v1.AuxInt = 12
- v2 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
- v3.AuxInt = 8
- v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v4.AuxInt = 0
- v5 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
- v6 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v6.AuxInt = 0
- v5.AddArg3(ptr, v6, mem)
- v3.AddArg3(ptr, v4, v5)
- v1.AddArg3(ptr, v2, v3)
+ v2 := b.NewValue0(v.Pos, OpARM64MOVWstore, types.TypeMem)
+ v2.AuxInt = 8
+ v3 := b.NewValue0(v.Pos, OpARM64MOVDstore, types.TypeMem)
+ v3.AddArg3(ptr, v0, mem)
+ v2.AddArg3(ptr, v0, v3)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v.AuxInt = 0
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v1.AuxInt = 0
- v.AddArg4(ptr, v0, v1, mem)
+ v.AddArg4(ptr, v0, v0, mem)
return true
}
// match: (Zero [32] ptr mem)
v.AuxInt = 16
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
+ v1 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
- v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v3.AuxInt = 0
- v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v4.AuxInt = 0
- v2.AddArg4(ptr, v3, v4, mem)
- v.AddArg4(ptr, v0, v1, v2)
+ v1.AddArg4(ptr, v0, v0, mem)
+ v.AddArg4(ptr, v0, v0, v1)
return true
}
// match: (Zero [48] ptr mem)
v.AuxInt = 32
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v1.AuxInt = 0
+ v1 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
+ v1.AuxInt = 16
v2 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
- v2.AuxInt = 16
- v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v3.AuxInt = 0
- v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v4.AuxInt = 0
- v5 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
- v5.AuxInt = 0
- v6 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v6.AuxInt = 0
- v7 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v7.AuxInt = 0
- v5.AddArg4(ptr, v6, v7, mem)
- v2.AddArg4(ptr, v3, v4, v5)
- v.AddArg4(ptr, v0, v1, v2)
+ v2.AuxInt = 0
+ v2.AddArg4(ptr, v0, v0, mem)
+ v1.AddArg4(ptr, v0, v0, v2)
+ v.AddArg4(ptr, v0, v0, v1)
return true
}
// match: (Zero [64] ptr mem)
v.AuxInt = 48
v0 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
v0.AuxInt = 0
- v1 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v1.AuxInt = 0
+ v1 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
+ v1.AuxInt = 32
v2 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
- v2.AuxInt = 32
- v3 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
+ v2.AuxInt = 16
+ v3 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
v3.AuxInt = 0
- v4 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v4.AuxInt = 0
- v5 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
- v5.AuxInt = 16
- v6 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v6.AuxInt = 0
- v7 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v7.AuxInt = 0
- v8 := b.NewValue0(v.Pos, OpARM64STP, types.TypeMem)
- v8.AuxInt = 0
- v9 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v9.AuxInt = 0
- v10 := b.NewValue0(v.Pos, OpARM64MOVDconst, typ.UInt64)
- v10.AuxInt = 0
- v8.AddArg4(ptr, v9, v10, mem)
- v5.AddArg4(ptr, v6, v7, v8)
- v2.AddArg4(ptr, v3, v4, v5)
- v.AddArg4(ptr, v0, v1, v2)
+ v3.AddArg4(ptr, v0, v0, mem)
+ v2.AddArg4(ptr, v0, v0, v3)
+ v1.AddArg4(ptr, v0, v0, v2)
+ v.AddArg4(ptr, v0, v0, v1)
return true
}
// match: (Zero [s] ptr mem)
v8 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32)
v9 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v9.AuxInt = int32ToAuxInt(0xff)
- v10 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32)
- v10.AuxInt = int32ToAuxInt(3)
- v11 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32)
- v11.AuxInt = int32ToAuxInt(3)
- v11.AddArg(ptr)
- v10.AddArg(v11)
- v8.AddArg2(v9, v10)
+ v8.AddArg2(v9, v5)
v7.AddArg(v8)
v2.AddArg2(v3, v7)
v.AddArg3(v0, v2, mem)
v9 := b.NewValue0(v.Pos, OpMIPSSLL, typ.UInt32)
v10 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
v10.AuxInt = int32ToAuxInt(0xff)
- v11 := b.NewValue0(v.Pos, OpMIPSSLLconst, typ.UInt32)
- v11.AuxInt = int32ToAuxInt(3)
- v12 := b.NewValue0(v.Pos, OpMIPSANDconst, typ.UInt32)
- v12.AuxInt = int32ToAuxInt(3)
- v13 := b.NewValue0(v.Pos, OpMIPSXORconst, typ.UInt32)
- v13.AuxInt = int32ToAuxInt(3)
- v13.AddArg(ptr)
- v12.AddArg(v13)
- v11.AddArg(v12)
- v9.AddArg2(v10, v11)
+ v9.AddArg2(v10, v5)
v8.AddArg(v9)
v2.AddArg2(v3, v8)
v.AddArg3(v0, v2, mem)
v2.AuxInt = int32ToAuxInt(0)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = int32ToAuxInt(0)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = int32ToAuxInt(0)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = int32ToAuxInt(0)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = int32ToAuxInt(0)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = int32ToAuxInt(0)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v3.AuxInt = int32ToAuxInt(0)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = int32ToAuxInt(32)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = int32ToAuxInt(0)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = int32ToAuxInt(32)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = int32ToAuxInt(-1)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = int32ToAuxInt(32)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v3.AuxInt = int32ToAuxInt(-1)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = int32ToAuxInt(32)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v2.AuxInt = int32ToAuxInt(0)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = int32ToAuxInt(0)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v.AddArg3(v0, v2, v3)
return true
}
v2.AuxInt = int32ToAuxInt(-1)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v0.AddArg3(v1, v2, v3)
v.AddArg2(x, v0)
return true
v2.AuxInt = int32ToAuxInt(-1)
v3 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v3.AuxInt = int32ToAuxInt(32)
- v4 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v4.AddArg(y)
- v3.AddArg(v4)
+ v3.AddArg(v1)
v0.AddArg3(v1, v2, v3)
v.AddArg2(x, v0)
return true
v3.AuxInt = int32ToAuxInt(0)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = int32ToAuxInt(32)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = int32ToAuxInt(0)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = int32ToAuxInt(32)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v.AddArg3(v0, v3, v4)
return true
}
v3.AuxInt = int32ToAuxInt(-1)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = int32ToAuxInt(32)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v3.AuxInt = int32ToAuxInt(-1)
v4 := b.NewValue0(v.Pos, OpMIPSSGTUconst, typ.Bool)
v4.AuxInt = int32ToAuxInt(32)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v5.AddArg(y)
- v4.AddArg(v5)
+ v4.AddArg(v2)
v1.AddArg3(v2, v3, v4)
v.AddArg2(v0, v1)
return true
v0.AuxInt = int32ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v1.AuxInt = int32ToAuxInt(0)
- v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v2.AuxInt = int32ToAuxInt(0)
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = int32ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
v1.AuxInt = int32ToAuxInt(0)
- v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v2.AuxInt = int32ToAuxInt(0)
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = int32ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v1.AuxInt = int32ToAuxInt(2)
- v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v2.AuxInt = int32ToAuxInt(0)
+ v2 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
+ v2.AuxInt = int32ToAuxInt(1)
v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
- v3.AuxInt = int32ToAuxInt(1)
- v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v4.AuxInt = int32ToAuxInt(0)
- v5 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
- v5.AuxInt = int32ToAuxInt(0)
- v6 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v6.AuxInt = int32ToAuxInt(0)
- v5.AddArg3(ptr, v6, mem)
- v3.AddArg3(ptr, v4, v5)
- v1.AddArg3(ptr, v2, v3)
+ v3.AuxInt = int32ToAuxInt(0)
+ v3.AddArg3(ptr, v0, mem)
+ v2.AddArg3(ptr, v0, v3)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = int32ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v1.AuxInt = int32ToAuxInt(1)
- v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
+ v2 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
v2.AuxInt = int32ToAuxInt(0)
- v3 := b.NewValue0(v.Pos, OpMIPSMOVBstore, types.TypeMem)
- v3.AuxInt = int32ToAuxInt(0)
- v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v4.AuxInt = int32ToAuxInt(0)
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = int32ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
v1.AuxInt = int32ToAuxInt(2)
- v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
+ v2 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
v2.AuxInt = int32ToAuxInt(0)
- v3 := b.NewValue0(v.Pos, OpMIPSMOVHstore, types.TypeMem)
- v3.AuxInt = int32ToAuxInt(0)
- v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v4.AuxInt = int32ToAuxInt(0)
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = int32ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v1.AuxInt = int32ToAuxInt(0)
- v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v2.AuxInt = int32ToAuxInt(0)
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = int32ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v1.AuxInt = int32ToAuxInt(4)
- v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
+ v2 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v2.AuxInt = int32ToAuxInt(0)
- v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
- v3.AuxInt = int32ToAuxInt(0)
- v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v4.AuxInt = int32ToAuxInt(0)
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = int32ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
v1.AuxInt = int32ToAuxInt(8)
- v2 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v2.AuxInt = int32ToAuxInt(0)
+ v2 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
+ v2.AuxInt = int32ToAuxInt(4)
v3 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
- v3.AuxInt = int32ToAuxInt(4)
- v4 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v4.AuxInt = int32ToAuxInt(0)
- v5 := b.NewValue0(v.Pos, OpMIPSMOVWstore, types.TypeMem)
- v5.AuxInt = int32ToAuxInt(0)
- v6 := b.NewValue0(v.Pos, OpMIPSMOVWconst, typ.UInt32)
- v6.AuxInt = int32ToAuxInt(0)
- v5.AddArg3(ptr, v6, mem)
- v3.AddArg3(ptr, v4, v5)
- v1.AddArg3(ptr, v2, v3)
+ v3.AuxInt = int32ToAuxInt(0)
+ v3.AddArg3(ptr, v0, mem)
+ v2.AddArg3(ptr, v0, v3)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SLLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
+ v4.AddArg2(v5, v3)
v.AddArg2(v0, v4)
return true
}
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
+ v4.AddArg2(v5, v3)
v.AddArg2(v0, v4)
return true
}
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
+ v4.AddArg2(v5, v3)
v.AddArg2(v0, v4)
return true
}
v5.AuxInt = 63
v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v6.AddArg(y)
- v1.AddArg2(v2, v6)
+ v1.AddArg2(v2, v4)
v.AddArg2(v0, v1)
return true
}
v5.AuxInt = 63
v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v6.AddArg(y)
- v1.AddArg2(v2, v6)
+ v1.AddArg2(v2, v4)
v.AddArg2(v0, v1)
return true
}
v5.AuxInt = 63
v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v6.AddArg(y)
- v1.AddArg2(v2, v6)
+ v1.AddArg2(v2, v4)
v.AddArg2(v0, v1)
return true
}
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
+ v4.AddArg2(v5, v3)
v.AddArg2(v0, v4)
return true
}
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
+ v4.AddArg2(v5, v3)
v.AddArg2(v0, v4)
return true
}
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
+ v4.AddArg2(v5, v3)
v.AddArg2(v0, v4)
return true
}
v5.AuxInt = 63
v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v6.AddArg(y)
- v1.AddArg2(v2, v6)
+ v1.AddArg2(v2, v4)
v.AddArg2(v0, v1)
return true
}
v5.AuxInt = 63
v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v6.AddArg(y)
- v1.AddArg2(v2, v6)
+ v1.AddArg2(v2, v4)
v.AddArg2(v0, v1)
return true
}
v5.AuxInt = 63
v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v6.AddArg(y)
- v1.AddArg2(v2, v6)
+ v1.AddArg2(v2, v4)
v.AddArg2(v0, v1)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v1.AddArg2(v2, v3)
v0.AddArg(v1)
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v4.AddArg2(x, v5)
+ v4.AddArg2(x, v3)
v.AddArg2(v0, v4)
return true
}
v4.AuxInt = 63
v2.AddArg2(v3, v4)
v1.AddArg(v2)
- v5 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v5.AddArg(y)
- v0.AddArg2(v1, v5)
+ v0.AddArg2(v1, v3)
v.AddArg2(x, v0)
return true
}
v4.AuxInt = 63
v2.AddArg2(v3, v4)
v1.AddArg(v2)
- v5 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v5.AddArg(y)
- v0.AddArg2(v1, v5)
+ v0.AddArg2(v1, v3)
v.AddArg2(x, v0)
return true
}
v4.AuxInt = 63
v2.AddArg2(v3, v4)
v1.AddArg(v2)
- v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v5.AddArg(y)
- v0.AddArg2(v1, v5)
+ v0.AddArg2(v1, v3)
v.AddArg2(x, v0)
return true
}
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
+ v4.AddArg2(v5, v3)
v.AddArg2(v0, v4)
return true
}
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
+ v4.AddArg2(v5, v3)
v.AddArg2(v0, v4)
return true
}
v4 := b.NewValue0(v.Pos, OpMIPS64SRLV, t)
v5 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
+ v4.AddArg2(v5, v3)
v.AddArg2(v0, v4)
return true
}
v5.AuxInt = 63
v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v6 := b.NewValue0(v.Pos, OpZeroExt16to64, typ.UInt64)
- v6.AddArg(y)
- v1.AddArg2(v2, v6)
+ v1.AddArg2(v2, v4)
v.AddArg2(v0, v1)
return true
}
v5.AuxInt = 63
v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v6 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v6.AddArg(y)
- v1.AddArg2(v2, v6)
+ v1.AddArg2(v2, v4)
v.AddArg2(v0, v1)
return true
}
v5.AuxInt = 63
v3.AddArg2(v4, v5)
v2.AddArg(v3)
- v6 := b.NewValue0(v.Pos, OpZeroExt8to64, typ.UInt64)
- v6.AddArg(y)
- v1.AddArg2(v2, v6)
+ v1.AddArg2(v2, v4)
v.AddArg2(v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v1.AuxInt = 2
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v2.AuxInt = 0
+ v2 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
+ v2.AuxInt = 1
v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
- v3.AuxInt = 1
- v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v4.AuxInt = 0
- v5 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
- v5.AuxInt = 0
- v6 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v6.AuxInt = 0
- v5.AddArg3(ptr, v6, mem)
- v3.AddArg3(ptr, v4, v5)
- v1.AddArg3(ptr, v2, v3)
+ v3.AuxInt = 0
+ v3.AddArg3(ptr, v0, mem)
+ v2.AddArg3(ptr, v0, v3)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v1.AuxInt = 4
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v2.AuxInt = 0
+ v2 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
+ v2.AuxInt = 2
v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
- v3.AuxInt = 2
- v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v4.AuxInt = 0
- v5 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
- v5.AuxInt = 0
- v6 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v6.AuxInt = 0
- v5.AddArg3(ptr, v6, mem)
- v3.AddArg3(ptr, v4, v5)
- v1.AddArg3(ptr, v2, v3)
+ v3.AuxInt = 0
+ v3.AddArg3(ptr, v0, mem)
+ v2.AddArg3(ptr, v0, v3)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v1.AuxInt = 1
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
+ v2 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpMIPS64MOVBstore, types.TypeMem)
- v3.AuxInt = 0
- v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v4.AuxInt = 0
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v1.AuxInt = 2
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
+ v2 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpMIPS64MOVHstore, types.TypeMem)
- v3.AuxInt = 0
- v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v4.AuxInt = 0
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
v1.AuxInt = 4
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
+ v2 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpMIPS64MOVWstore, types.TypeMem)
- v3.AuxInt = 0
- v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v4.AuxInt = 0
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v2.AuxInt = 0
- v1.AddArg3(ptr, v2, mem)
+ v1.AddArg3(ptr, v0, mem)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = 0
v1 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
v1.AuxInt = 8
- v2 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
+ v2 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpMIPS64MOVVstore, types.TypeMem)
- v3.AuxInt = 0
- v4 := b.NewValue0(v.Pos, OpMIPS64MOVVconst, typ.UInt64)
- v4.AuxInt = 0
- v3.AddArg3(ptr, v4, mem)
- v1.AddArg3(ptr, v2, v3)
+ v2.AddArg3(ptr, v0, mem)
+ v1.AddArg3(ptr, v0, v2)
v.AddArg3(ptr, v0, v1)
return true
}
v0.AuxInt = int64ToAuxInt(1)
v1 := b.NewValue0(v.Pos, OpPPC64ISELB, typ.Int32)
v1.AuxInt = int32ToAuxInt(1)
- v2 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
- v2.AuxInt = int64ToAuxInt(1)
- v1.AddArg2(v2, cmp)
+ v1.AddArg2(v0, cmp)
v.AddArg3(v0, v1, cmp)
return true
}
v0.AuxInt = int64ToAuxInt(1)
v1 := b.NewValue0(v.Pos, OpPPC64ISELB, typ.Int32)
v1.AuxInt = int32ToAuxInt(0)
- v2 := b.NewValue0(v.Pos, OpPPC64MOVDconst, typ.Int64)
- v2.AuxInt = int64ToAuxInt(1)
- v1.AddArg2(v2, cmp)
+ v1.AddArg2(v0, cmp)
v.AddArg3(v0, v1, cmp)
return true
}
v0 := b.NewValue0(v.Pos, OpS390XADDE, types.NewTuple(typ.UInt64, types.TypeFlags))
v1 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
- v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
- v4 := b.NewValue0(v.Pos, OpS390XADDE, types.NewTuple(typ.UInt64, types.TypeFlags))
- v5 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
- v6 := b.NewValue0(v.Pos, OpS390XADDCconst, types.NewTuple(typ.UInt64, types.TypeFlags))
- v6.AuxInt = -1
- v6.AddArg(c)
- v5.AddArg(v6)
- v4.AddArg3(x, y, v5)
- v3.AddArg(v4)
- v0.AddArg3(v1, v2, v3)
+ v2 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
+ v3 := b.NewValue0(v.Pos, OpS390XADDE, types.NewTuple(typ.UInt64, types.TypeFlags))
+ v4 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
+ v5 := b.NewValue0(v.Pos, OpS390XADDCconst, types.NewTuple(typ.UInt64, types.TypeFlags))
+ v5.AuxInt = -1
+ v5.AddArg(c)
+ v4.AddArg(v5)
+ v3.AddArg3(x, y, v4)
+ v2.AddArg(v3)
+ v0.AddArg3(v1, v1, v2)
v.AddArg(v0)
return true
}
v1 := b.NewValue0(v.Pos, OpS390XSUBE, types.NewTuple(typ.UInt64, types.TypeFlags))
v2 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
v2.AuxInt = 0
- v3 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
- v3.AuxInt = 0
- v4 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
- v5 := b.NewValue0(v.Pos, OpS390XSUBE, types.NewTuple(typ.UInt64, types.TypeFlags))
- v6 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
- v7 := b.NewValue0(v.Pos, OpS390XSUBC, types.NewTuple(typ.UInt64, types.TypeFlags))
- v8 := b.NewValue0(v.Pos, OpS390XMOVDconst, typ.UInt64)
- v8.AuxInt = 0
- v7.AddArg2(v8, c)
- v6.AddArg(v7)
- v5.AddArg3(x, y, v6)
- v4.AddArg(v5)
- v1.AddArg3(v2, v3, v4)
+ v3 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
+ v4 := b.NewValue0(v.Pos, OpS390XSUBE, types.NewTuple(typ.UInt64, types.TypeFlags))
+ v5 := b.NewValue0(v.Pos, OpSelect1, types.TypeFlags)
+ v6 := b.NewValue0(v.Pos, OpS390XSUBC, types.NewTuple(typ.UInt64, types.TypeFlags))
+ v6.AddArg2(v2, c)
+ v5.AddArg(v6)
+ v4.AddArg3(x, y, v5)
+ v3.AddArg(v4)
+ v1.AddArg3(v2, v2, v3)
v0.AddArg(v1)
v.AddArg(v0)
return true
v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v1.AuxInt = int64ToAuxInt(48)
v0.AddArg2(x, v1)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(48)
- v.AddArg2(v0, v2)
+ v.AddArg2(v0, v1)
return true
}
}
v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v1.AuxInt = int64ToAuxInt(48)
v0.AddArg2(x, v1)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(48)
- v.AddArg2(v0, v2)
+ v.AddArg2(v0, v1)
return true
}
}
v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v1.AuxInt = int64ToAuxInt(32)
v0.AddArg2(x, v1)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(32)
- v.AddArg2(v0, v2)
+ v.AddArg2(v0, v1)
return true
}
}
v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v1.AuxInt = int64ToAuxInt(56)
v0.AddArg2(x, v1)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(56)
- v.AddArg2(v0, v2)
+ v.AddArg2(v0, v1)
return true
}
}
v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v1.AuxInt = int64ToAuxInt(56)
v0.AddArg2(x, v1)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(56)
- v.AddArg2(v0, v2)
+ v.AddArg2(v0, v1)
return true
}
}
v1 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v1.AuxInt = int64ToAuxInt(56)
v0.AddArg2(x, v1)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(56)
- v.AddArg2(v0, v2)
+ v.AddArg2(v0, v1)
return true
}
}
v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v0.AuxInt = int64ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpWasmI64Store16, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(0)
- v1.AddArg3(destptr, v2, mem)
+ v1.AddArg3(destptr, v0, mem)
v.AddArg3(destptr, v0, v1)
return true
}
v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v0.AuxInt = int64ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpWasmI64Store32, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(0)
- v1.AddArg3(destptr, v2, mem)
+ v1.AddArg3(destptr, v0, mem)
v.AddArg3(destptr, v0, v1)
return true
}
v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v0.AuxInt = int64ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpWasmI64Store32, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(0)
- v1.AddArg3(destptr, v2, mem)
+ v1.AddArg3(destptr, v0, mem)
v.AddArg3(destptr, v0, v1)
return true
}
v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v0.AuxInt = int64ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpWasmI64Store32, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(0)
- v1.AddArg3(destptr, v2, mem)
+ v1.AddArg3(destptr, v0, mem)
v.AddArg3(destptr, v0, v1)
return true
}
v0 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
v0.AuxInt = int64ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(0)
- v1.AddArg3(destptr, v2, mem)
+ v1.AddArg3(destptr, v0, mem)
v.AddArg3(destptr, v0, v1)
return true
}
v0.AuxInt = int64ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem)
v1.AuxInt = int64ToAuxInt(8)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(0)
- v3 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem)
- v4 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v4.AuxInt = int64ToAuxInt(0)
- v3.AddArg3(destptr, v4, mem)
- v1.AddArg3(destptr, v2, v3)
+ v2 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem)
+ v2.AddArg3(destptr, v0, mem)
+ v1.AddArg3(destptr, v0, v2)
v.AddArg3(destptr, v0, v1)
return true
}
v0.AuxInt = int64ToAuxInt(0)
v1 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem)
v1.AuxInt = int64ToAuxInt(16)
- v2 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v2.AuxInt = int64ToAuxInt(0)
+ v2 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem)
+ v2.AuxInt = int64ToAuxInt(8)
v3 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem)
- v3.AuxInt = int64ToAuxInt(8)
- v4 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v4.AuxInt = int64ToAuxInt(0)
- v5 := b.NewValue0(v.Pos, OpWasmI64Store, types.TypeMem)
- v6 := b.NewValue0(v.Pos, OpWasmI64Const, typ.Int64)
- v6.AuxInt = int64ToAuxInt(0)
- v5.AddArg3(destptr, v6, mem)
- v3.AddArg3(destptr, v4, v5)
- v1.AddArg3(destptr, v2, v3)
+ v3.AddArg3(destptr, v0, mem)
+ v2.AddArg3(destptr, v0, v3)
+ v1.AddArg3(destptr, v0, v2)
v.AddArg3(destptr, v0, v1)
return true
}
v3.AddArg(v4)
v0.AddArg3(v1, v2, v3)
v7 := b.NewValue0(v.Pos, OpSelect0, typ.UInt32)
- v8 := b.NewValue0(v.Pos, OpAdd32carry, types.NewTuple(typ.UInt32, types.TypeFlags))
- v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v9.AddArg(x)
- v10 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v10.AddArg(y)
- v8.AddArg2(v9, v10)
- v7.AddArg(v8)
+ v7.AddArg(v4)
v.AddArg2(v0, v7)
return true
}
v4 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
v4.AddArg(x)
v5 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32)
- v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v6.AddArg(x)
- v5.AddArg(v6)
+ v5.AddArg(v1)
v3.AddArg2(v4, v5)
v2.AddArg(v3)
v.AddArg2(v0, v2)
v2 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32)
v3 := b.NewValue0(v.Pos, OpCom32, typ.UInt32)
v4 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32)
- v5 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v5.AddArg(x)
- v4.AddArg(v5)
+ v4.AddArg(v1)
v3.AddArg(v4)
- v6 := b.NewValue0(v.Pos, OpCtz32, typ.UInt32)
- v7 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v7.AddArg(x)
- v6.AddArg(v7)
- v2.AddArg2(v3, v6)
+ v5 := b.NewValue0(v.Pos, OpCtz32, typ.UInt32)
+ v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
+ v6.AddArg(x)
+ v5.AddArg(v6)
+ v2.AddArg2(v3, v5)
v.AddArg2(v0, v2)
return true
}
v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpAndB, typ.Bool)
v4 := b.NewValue0(v.Pos, OpEq32, typ.Bool)
- v5 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
- v7 := b.NewValue0(v.Pos, OpLeq32U, typ.Bool)
- v8 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v8.AddArg(x)
- v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v9.AddArg(y)
- v7.AddArg2(v8, v9)
- v3.AddArg2(v4, v7)
+ v4.AddArg2(v1, v2)
+ v5 := b.NewValue0(v.Pos, OpLeq32U, typ.Bool)
+ v6 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
+ v6.AddArg(x)
+ v7 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
+ v7.AddArg(y)
+ v5.AddArg2(v6, v7)
+ v3.AddArg2(v4, v5)
v.AddArg2(v0, v3)
return true
}
v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpAndB, typ.Bool)
v4 := b.NewValue0(v.Pos, OpEq32, typ.Bool)
- v5 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
- v7 := b.NewValue0(v.Pos, OpLeq32U, typ.Bool)
- v8 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v8.AddArg(x)
- v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v9.AddArg(y)
- v7.AddArg2(v8, v9)
- v3.AddArg2(v4, v7)
+ v4.AddArg2(v1, v2)
+ v5 := b.NewValue0(v.Pos, OpLeq32U, typ.Bool)
+ v6 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
+ v6.AddArg(x)
+ v7 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
+ v7.AddArg(y)
+ v5.AddArg2(v6, v7)
+ v3.AddArg2(v4, v5)
v.AddArg2(v0, v3)
return true
}
v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpAndB, typ.Bool)
v4 := b.NewValue0(v.Pos, OpEq32, typ.Bool)
- v5 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
- v7 := b.NewValue0(v.Pos, OpLess32U, typ.Bool)
- v8 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v8.AddArg(x)
- v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v9.AddArg(y)
- v7.AddArg2(v8, v9)
- v3.AddArg2(v4, v7)
+ v4.AddArg2(v1, v2)
+ v5 := b.NewValue0(v.Pos, OpLess32U, typ.Bool)
+ v6 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
+ v6.AddArg(x)
+ v7 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
+ v7.AddArg(y)
+ v5.AddArg2(v6, v7)
+ v3.AddArg2(v4, v5)
v.AddArg2(v0, v3)
return true
}
v0.AddArg2(v1, v2)
v3 := b.NewValue0(v.Pos, OpAndB, typ.Bool)
v4 := b.NewValue0(v.Pos, OpEq32, typ.Bool)
- v5 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v5.AddArg(x)
- v6 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v6.AddArg(y)
- v4.AddArg2(v5, v6)
- v7 := b.NewValue0(v.Pos, OpLess32U, typ.Bool)
- v8 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v8.AddArg(x)
- v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v9.AddArg(y)
- v7.AddArg2(v8, v9)
- v3.AddArg2(v4, v7)
+ v4.AddArg2(v1, v2)
+ v5 := b.NewValue0(v.Pos, OpLess32U, typ.Bool)
+ v6 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
+ v6.AddArg(x)
+ v7 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
+ v7.AddArg(y)
+ v5.AddArg2(v6, v7)
+ v3.AddArg2(v4, v5)
v.AddArg2(v0, v3)
return true
}
v1.AddArg2(v2, v3)
v6 := b.NewValue0(v.Pos, OpLsh32x16, typ.UInt32)
v7 := b.NewValue0(v.Pos, OpSub16, typ.UInt16)
- v8 := b.NewValue0(v.Pos, OpConst16, typ.UInt16)
- v8.AuxInt = int16ToAuxInt(32)
- v7.AddArg2(s, v8)
+ v7.AddArg2(s, v5)
v6.AddArg2(lo, v7)
v0.AddArg2(v1, v6)
- v9 := b.NewValue0(v.Pos, OpLsh32x16, typ.UInt32)
- v9.AddArg2(lo, s)
- v.AddArg2(v0, v9)
+ v8 := b.NewValue0(v.Pos, OpLsh32x16, typ.UInt32)
+ v8.AddArg2(lo, s)
+ v.AddArg2(v0, v8)
return true
}
return false
v1.AddArg2(v2, v3)
v6 := b.NewValue0(v.Pos, OpLsh32x32, typ.UInt32)
v7 := b.NewValue0(v.Pos, OpSub32, typ.UInt32)
- v8 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
- v8.AuxInt = int32ToAuxInt(32)
- v7.AddArg2(s, v8)
+ v7.AddArg2(s, v5)
v6.AddArg2(lo, v7)
v0.AddArg2(v1, v6)
- v9 := b.NewValue0(v.Pos, OpLsh32x32, typ.UInt32)
- v9.AddArg2(lo, s)
- v.AddArg2(v0, v9)
+ v8 := b.NewValue0(v.Pos, OpLsh32x32, typ.UInt32)
+ v8.AddArg2(lo, s)
+ v.AddArg2(v0, v8)
return true
}
return false
v1.AddArg2(v2, v3)
v6 := b.NewValue0(v.Pos, OpLsh32x8, typ.UInt32)
v7 := b.NewValue0(v.Pos, OpSub8, typ.UInt8)
- v8 := b.NewValue0(v.Pos, OpConst8, typ.UInt8)
- v8.AuxInt = int8ToAuxInt(32)
- v7.AddArg2(s, v8)
+ v7.AddArg2(s, v5)
v6.AddArg2(lo, v7)
v0.AddArg2(v1, v6)
- v9 := b.NewValue0(v.Pos, OpLsh32x8, typ.UInt32)
- v9.AddArg2(lo, s)
- v.AddArg2(v0, v9)
+ v8 := b.NewValue0(v.Pos, OpLsh32x8, typ.UInt32)
+ v8.AddArg2(lo, s)
+ v.AddArg2(v0, v8)
return true
}
return false
v5.AddArg2(v6, v7)
v8 := b.NewValue0(v.Pos, OpSelect0, typ.UInt32)
v9 := b.NewValue0(v.Pos, OpMul32uhilo, types.NewTuple(typ.UInt32, typ.UInt32))
- v10 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v10.AddArg(x)
- v11 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v11.AddArg(y)
- v9.AddArg2(v10, v11)
+ v9.AddArg2(v2, v7)
v8.AddArg(v9)
v4.AddArg2(v5, v8)
v0.AddArg2(v1, v4)
- v12 := b.NewValue0(v.Pos, OpSelect1, typ.UInt32)
- v13 := b.NewValue0(v.Pos, OpMul32uhilo, types.NewTuple(typ.UInt32, typ.UInt32))
- v14 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v14.AddArg(x)
- v15 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v15.AddArg(y)
- v13.AddArg2(v14, v15)
- v12.AddArg(v13)
- v.AddArg2(v0, v12)
+ v10 := b.NewValue0(v.Pos, OpSelect1, typ.UInt32)
+ v10.AddArg(v9)
+ v.AddArg2(v0, v10)
return true
}
}
v2.AddArg2(v3, v4)
v7 := b.NewValue0(v.Pos, OpRsh32Ux16, typ.UInt32)
v8 := b.NewValue0(v.Pos, OpSub16, typ.UInt16)
- v9 := b.NewValue0(v.Pos, OpConst16, typ.UInt16)
- v9.AuxInt = int16ToAuxInt(32)
- v8.AddArg2(s, v9)
+ v8.AddArg2(s, v6)
v7.AddArg2(hi, v8)
v1.AddArg2(v2, v7)
v.AddArg2(v0, v1)
v2.AddArg2(v3, v4)
v7 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32)
v8 := b.NewValue0(v.Pos, OpSub32, typ.UInt32)
- v9 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
- v9.AuxInt = int32ToAuxInt(32)
- v8.AddArg2(s, v9)
+ v8.AddArg2(s, v6)
v7.AddArg2(hi, v8)
v1.AddArg2(v2, v7)
v.AddArg2(v0, v1)
v2.AddArg2(v3, v4)
v7 := b.NewValue0(v.Pos, OpRsh32Ux8, typ.UInt32)
v8 := b.NewValue0(v.Pos, OpSub8, typ.UInt8)
- v9 := b.NewValue0(v.Pos, OpConst8, typ.UInt8)
- v9.AuxInt = int8ToAuxInt(32)
- v8.AddArg2(s, v9)
+ v8.AddArg2(s, v6)
v7.AddArg2(hi, v8)
v1.AddArg2(v2, v7)
v.AddArg2(v0, v1)
v7 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32)
v8 := b.NewValue0(v.Pos, OpRsh32x16, typ.UInt32)
v9 := b.NewValue0(v.Pos, OpSub16, typ.UInt16)
- v10 := b.NewValue0(v.Pos, OpConst16, typ.UInt16)
- v10.AuxInt = int16ToAuxInt(32)
- v9.AddArg2(s, v10)
+ v9.AddArg2(s, v6)
v8.AddArg2(hi, v9)
- v11 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32)
- v12 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v13 := b.NewValue0(v.Pos, OpRsh16Ux32, typ.UInt16)
- v14 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
- v14.AuxInt = int32ToAuxInt(5)
- v13.AddArg2(s, v14)
- v12.AddArg(v13)
+ v10 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32)
+ v11 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
+ v12 := b.NewValue0(v.Pos, OpRsh16Ux32, typ.UInt16)
+ v13 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
+ v13.AuxInt = int32ToAuxInt(5)
+ v12.AddArg2(s, v13)
v11.AddArg(v12)
- v7.AddArg2(v8, v11)
+ v10.AddArg(v11)
+ v7.AddArg2(v8, v10)
v1.AddArg2(v2, v7)
v.AddArg2(v0, v1)
return true
v7 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32)
v8 := b.NewValue0(v.Pos, OpRsh32x32, typ.UInt32)
v9 := b.NewValue0(v.Pos, OpSub32, typ.UInt32)
- v10 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
- v10.AuxInt = int32ToAuxInt(32)
- v9.AddArg2(s, v10)
+ v9.AddArg2(s, v6)
v8.AddArg2(hi, v9)
- v11 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32)
- v12 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32)
- v13 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
- v13.AuxInt = int32ToAuxInt(5)
- v12.AddArg2(s, v13)
- v11.AddArg(v12)
- v7.AddArg2(v8, v11)
+ v10 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32)
+ v11 := b.NewValue0(v.Pos, OpRsh32Ux32, typ.UInt32)
+ v12 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
+ v12.AuxInt = int32ToAuxInt(5)
+ v11.AddArg2(s, v12)
+ v10.AddArg(v11)
+ v7.AddArg2(v8, v10)
v1.AddArg2(v2, v7)
v.AddArg2(v0, v1)
return true
v1 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
v1.AddArg(x)
v0.AddArg(v1)
- v2 := b.NewValue0(v.Pos, OpSignmask, typ.Int32)
- v3 := b.NewValue0(v.Pos, OpInt64Hi, typ.UInt32)
- v3.AddArg(x)
- v2.AddArg(v3)
- v.AddArg2(v0, v2)
+ v.AddArg2(v0, v0)
return true
}
// match: (Rsh64x64 [c] x (Int64Make (Const32 [0]) lo))
v7 := b.NewValue0(v.Pos, OpAnd32, typ.UInt32)
v8 := b.NewValue0(v.Pos, OpRsh32x8, typ.UInt32)
v9 := b.NewValue0(v.Pos, OpSub8, typ.UInt8)
- v10 := b.NewValue0(v.Pos, OpConst8, typ.UInt8)
- v10.AuxInt = int8ToAuxInt(32)
- v9.AddArg2(s, v10)
+ v9.AddArg2(s, v6)
v8.AddArg2(hi, v9)
- v11 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32)
- v12 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
- v13 := b.NewValue0(v.Pos, OpRsh8Ux32, typ.UInt8)
- v14 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
- v14.AuxInt = int32ToAuxInt(5)
- v13.AddArg2(s, v14)
- v12.AddArg(v13)
+ v10 := b.NewValue0(v.Pos, OpZeromask, typ.UInt32)
+ v11 := b.NewValue0(v.Pos, OpZeroExt8to32, typ.UInt32)
+ v12 := b.NewValue0(v.Pos, OpRsh8Ux32, typ.UInt8)
+ v13 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
+ v13.AuxInt = int32ToAuxInt(5)
+ v12.AddArg2(s, v13)
v11.AddArg(v12)
- v7.AddArg2(v8, v11)
+ v10.AddArg(v11)
+ v7.AddArg2(v8, v10)
v1.AddArg2(v2, v7)
v.AddArg2(v0, v1)
return true
v3.AddArg(v4)
v0.AddArg3(v1, v2, v3)
v7 := b.NewValue0(v.Pos, OpSelect0, typ.UInt32)
- v8 := b.NewValue0(v.Pos, OpSub32carry, types.NewTuple(typ.UInt32, types.TypeFlags))
- v9 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v9.AddArg(x)
- v10 := b.NewValue0(v.Pos, OpInt64Lo, typ.UInt32)
- v10.AddArg(y)
- v8.AddArg2(v9, v10)
- v7.AddArg(v8)
+ v7.AddArg(v4)
v.AddArg2(v0, v7)
return true
}
v0 := b.NewValue0(v.Pos, OpConstNil, v.Type.Elem().PtrTo())
v1 := b.NewValue0(v.Pos, OpConst32, typ.Int)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpConst32, typ.Int)
- v2.AuxInt = 0
- v.AddArg3(v0, v1, v2)
+ v.AddArg3(v0, v1, v1)
return true
}
// match: (ConstSlice)
v0 := b.NewValue0(v.Pos, OpConstNil, v.Type.Elem().PtrTo())
v1 := b.NewValue0(v.Pos, OpConst64, typ.Int)
v1.AuxInt = 0
- v2 := b.NewValue0(v.Pos, OpConst64, typ.Int)
- v2.AuxInt = 0
- v.AddArg3(v0, v1, v2)
+ v.AddArg3(v0, v1, v1)
return true
}
return false
v4.AuxInt = 16 + smagic(16, c).s
v0.AddArg2(v1, v4)
v5 := b.NewValue0(v.Pos, OpRsh32x64, t)
- v6 := b.NewValue0(v.Pos, OpSignExt16to32, typ.Int32)
- v6.AddArg(x)
- v7 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- v7.AuxInt = 31
- v5.AddArg2(v6, v7)
+ v6 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
+ v6.AuxInt = 31
+ v5.AddArg2(v3, v6)
v.AddArg2(v0, v5)
return true
}
v5 := b.NewValue0(v.Pos, OpMul32, typ.UInt32)
v6 := b.NewValue0(v.Pos, OpConst32, typ.UInt32)
v6.AuxInt = int64(umagic(16, c).m)
- v7 := b.NewValue0(v.Pos, OpZeroExt16to32, typ.UInt32)
- v7.AddArg(x)
- v5.AddArg2(v6, v7)
+ v5.AddArg2(v6, v3)
v1.AddArg2(v2, v5)
- v8 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- v8.AuxInt = 16 + umagic(16, c).s - 1
- v0.AddArg2(v1, v8)
+ v7 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
+ v7.AuxInt = 16 + umagic(16, c).s - 1
+ v0.AddArg2(v1, v7)
v.AddArg(v0)
return true
}
v4.AuxInt = 32 + smagic(32, c).s
v0.AddArg2(v1, v4)
v5 := b.NewValue0(v.Pos, OpRsh64x64, t)
- v6 := b.NewValue0(v.Pos, OpSignExt32to64, typ.Int64)
- v6.AddArg(x)
- v7 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- v7.AuxInt = 63
- v5.AddArg2(v6, v7)
+ v6 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
+ v6.AuxInt = 63
+ v5.AddArg2(v3, v6)
v.AddArg2(v0, v5)
return true
}
v5 := b.NewValue0(v.Pos, OpMul64, typ.UInt64)
v6 := b.NewValue0(v.Pos, OpConst64, typ.UInt32)
v6.AuxInt = int64(umagic(32, c).m)
- v7 := b.NewValue0(v.Pos, OpZeroExt32to64, typ.UInt64)
- v7.AddArg(x)
- v5.AddArg2(v6, v7)
+ v5.AddArg2(v6, v3)
v1.AddArg2(v2, v5)
- v8 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- v8.AuxInt = 32 + umagic(32, c).s - 1
- v0.AddArg2(v1, v8)
+ v7 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
+ v7.AuxInt = 32 + umagic(32, c).s - 1
+ v0.AddArg2(v1, v7)
v.AddArg(v0)
return true
}
v4.AuxInt = 8 + smagic(8, c).s
v0.AddArg2(v1, v4)
v5 := b.NewValue0(v.Pos, OpRsh32x64, t)
- v6 := b.NewValue0(v.Pos, OpSignExt8to32, typ.Int32)
- v6.AddArg(x)
- v7 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
- v7.AuxInt = 31
- v5.AddArg2(v6, v7)
+ v6 := b.NewValue0(v.Pos, OpConst64, typ.UInt64)
+ v6.AuxInt = 31
+ v5.AddArg2(v3, v6)
v.AddArg2(v0, v5)
return true
}
v2 := b.NewValue0(v.Pos, OpConst16, t)
v2.AuxInt = c
v1.AddArg2(x, v2)
- v3 := b.NewValue0(v.Pos, OpConst16, t)
- v3.AuxInt = c
- v0.AddArg2(v1, v3)
+ v0.AddArg2(v1, v2)
v.AddArg2(x, v0)
return true
}
v2 := b.NewValue0(v.Pos, OpConst16, t)
v2.AuxInt = c
v1.AddArg2(x, v2)
- v3 := b.NewValue0(v.Pos, OpConst16, t)
- v3.AuxInt = c
- v0.AddArg2(v1, v3)
+ v0.AddArg2(v1, v2)
v.AddArg2(x, v0)
return true
}
v2 := b.NewValue0(v.Pos, OpConst32, t)
v2.AuxInt = c
v1.AddArg2(x, v2)
- v3 := b.NewValue0(v.Pos, OpConst32, t)
- v3.AuxInt = c
- v0.AddArg2(v1, v3)
+ v0.AddArg2(v1, v2)
v.AddArg2(x, v0)
return true
}
v2 := b.NewValue0(v.Pos, OpConst32, t)
v2.AuxInt = c
v1.AddArg2(x, v2)
- v3 := b.NewValue0(v.Pos, OpConst32, t)
- v3.AuxInt = c
- v0.AddArg2(v1, v3)
+ v0.AddArg2(v1, v2)
v.AddArg2(x, v0)
return true
}
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = c
v1.AddArg2(x, v2)
- v3 := b.NewValue0(v.Pos, OpConst64, t)
- v3.AuxInt = c
- v0.AddArg2(v1, v3)
+ v0.AddArg2(v1, v2)
v.AddArg2(x, v0)
return true
}
v2 := b.NewValue0(v.Pos, OpConst64, t)
v2.AuxInt = c
v1.AddArg2(x, v2)
- v3 := b.NewValue0(v.Pos, OpConst64, t)
- v3.AuxInt = c
- v0.AddArg2(v1, v3)
+ v0.AddArg2(v1, v2)
v.AddArg2(x, v0)
return true
}
v2 := b.NewValue0(v.Pos, OpConst8, t)
v2.AuxInt = c
v1.AddArg2(x, v2)
- v3 := b.NewValue0(v.Pos, OpConst8, t)
- v3.AuxInt = c
- v0.AddArg2(v1, v3)
+ v0.AddArg2(v1, v2)
v.AddArg2(x, v0)
return true
}
v2 := b.NewValue0(v.Pos, OpConst8, t)
v2.AuxInt = c
v1.AddArg2(x, v2)
- v3 := b.NewValue0(v.Pos, OpConst8, t)
- v3.AuxInt = c
- v0.AddArg2(v1, v3)
+ v0.AddArg2(v1, v2)
v.AddArg2(x, v0)
return true
}