+func rewriteValuegeneric_OpStaticCall(v *Value) bool {
+ b := v.Block
+ typ := &b.Func.Config.Types
+ // match: (StaticCall {callAux} p q _ mem)
+ // cond: isSameCall(callAux, "runtime.memequal") && isSamePtr(p, q)
+ // result: (MakeResult (ConstBool <typ.Bool> [true]) mem)
+ for {
+ if len(v.Args) != 4 {
+ break
+ }
+ callAux := auxToCall(v.Aux)
+ mem := v.Args[3]
+ p := v.Args[0]
+ q := v.Args[1]
+ if !(isSameCall(callAux, "runtime.memequal") && isSamePtr(p, q)) {
+ break
+ }
+ v.reset(OpMakeResult)
+ v0 := b.NewValue0(v.Pos, OpConstBool, typ.Bool)
+ v0.AuxInt = boolToAuxInt(true)
+ v.AddArg2(v0, mem)
+ return true
+ }
+ return false
+}