((SETNE|SETG|SETGE|SETA|SETAE) (FlagGT_UGT)) -> (MOVLconst [1])
((SETEQ|SETL|SETLE|SETB|SETBE) (FlagGT_UGT)) -> (MOVLconst [0])
-(SETEQstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETEQstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETEQstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETEQstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETEQstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-
-(SETNEstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETNEstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETNEstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETNEstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETNEstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-
-(SETLstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETLstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETLstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETLstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETLstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-
-(SETLEstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETLEstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETLEstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETLEstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETLEstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-
-(SETGstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETGstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETGstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETGstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETGstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-
-(SETGEstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETGEstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETGEstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETGEstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETGEstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-
-(SETBstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETBstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETBstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETBstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETBstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-
-(SETBEstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETBEstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETBEstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETBEstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETBEstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-
-(SETAstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETAstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETAstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETAstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETAstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-
-(SETAEstore [off] {sym} ptr x:(FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETAEstore [off] {sym} ptr x:(FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETAEstore [off] {sym} ptr x:(FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
-(SETAEstore [off] {sym} ptr x:(FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
-(SETAEstore [off] {sym} ptr x:(FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+(SETEQstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETEQstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETEQstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETEQstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETEQstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+
+(SETNEstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETNEstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETNEstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETNEstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETNEstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+
+(SETLstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETLstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETLstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETLstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETLstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+
+(SETLEstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETLEstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETLEstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETLEstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETLEstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+
+(SETGstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETGstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETGstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETGstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETGstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+
+(SETGEstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETGEstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETGEstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETGEstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETGEstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+
+(SETBstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETBstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETBstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETBstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETBstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+
+(SETBEstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETBEstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETBEstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETBEstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETBEstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+
+(SETAstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETAstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETAstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETAstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETAstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+
+(SETAEstore [off] {sym} ptr (FlagEQ) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETAEstore [off] {sym} ptr (FlagLT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETAEstore [off] {sym} ptr (FlagLT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
+(SETAEstore [off] {sym} ptr (FlagGT_ULT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
+(SETAEstore [off] {sym} ptr (FlagGT_UGT) mem) -> (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
// Remove redundant *const ops
(ADDQconst [0] x) -> x
}
func rewriteValueAMD64_OpAMD64SETAEstore_0(v *Value) bool {
b := v.Block
+ typ := &b.Func.Config.Types
// match: (SETAEstore [off] {sym} ptr (InvertFlags x) mem)
// cond:
// result: (SETBEstore [off] {sym} ptr x mem)
v.AddArg(mem)
return true
}
- // match: (SETAEstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETAEstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETAEstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETAEstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETAEstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETAEstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETAEstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETAEstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETAEstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETAEstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
}
func rewriteValueAMD64_OpAMD64SETAstore_0(v *Value) bool {
b := v.Block
+ typ := &b.Func.Config.Types
// match: (SETAstore [off] {sym} ptr (InvertFlags x) mem)
// cond:
// result: (SETBstore [off] {sym} ptr x mem)
v.AddArg(mem)
return true
}
- // match: (SETAstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETAstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETAstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETAstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETAstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETAstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETAstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETAstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETAstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETAstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
}
func rewriteValueAMD64_OpAMD64SETBEstore_0(v *Value) bool {
b := v.Block
+ typ := &b.Func.Config.Types
// match: (SETBEstore [off] {sym} ptr (InvertFlags x) mem)
// cond:
// result: (SETAEstore [off] {sym} ptr x mem)
v.AddArg(mem)
return true
}
- // match: (SETBEstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETBEstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETBEstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETBEstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETBEstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETBEstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETBEstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETBEstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETBEstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETBEstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
}
func rewriteValueAMD64_OpAMD64SETBstore_0(v *Value) bool {
b := v.Block
+ typ := &b.Func.Config.Types
// match: (SETBstore [off] {sym} ptr (InvertFlags x) mem)
// cond:
// result: (SETAstore [off] {sym} ptr x mem)
v.AddArg(mem)
return true
}
- // match: (SETBstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETBstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETBstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETBstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETBstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETBstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETBstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETBstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETBstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETBstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
func rewriteValueAMD64_OpAMD64SETEQstore_20(v *Value) bool {
b := v.Block
config := b.Func.Config
+ typ := &b.Func.Config.Types
// match: (SETEQstore [off] {sym} ptr (TESTL z1:(SHRLconst [31] x) z2) mem)
// cond: z1==z2 && !config.nacl
// result: (SETAEstore [off] {sym} ptr (BTLconst [31] x) mem)
v.AddArg(mem)
return true
}
- // match: (SETEQstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETEQstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETEQstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETEQstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETEQstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETEQstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETEQstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETEQstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETEQstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETEQstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
}
func rewriteValueAMD64_OpAMD64SETGEstore_0(v *Value) bool {
b := v.Block
+ typ := &b.Func.Config.Types
// match: (SETGEstore [off] {sym} ptr (InvertFlags x) mem)
// cond:
// result: (SETLEstore [off] {sym} ptr x mem)
v.AddArg(mem)
return true
}
- // match: (SETGEstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETGEstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETGEstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETGEstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETGEstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETGEstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETGEstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETGEstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETGEstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETGEstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
}
func rewriteValueAMD64_OpAMD64SETGstore_0(v *Value) bool {
b := v.Block
+ typ := &b.Func.Config.Types
// match: (SETGstore [off] {sym} ptr (InvertFlags x) mem)
// cond:
// result: (SETLstore [off] {sym} ptr x mem)
v.AddArg(mem)
return true
}
- // match: (SETGstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETGstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETGstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETGstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETGstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETGstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETGstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETGstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETGstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETGstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
}
func rewriteValueAMD64_OpAMD64SETLEstore_0(v *Value) bool {
b := v.Block
+ typ := &b.Func.Config.Types
// match: (SETLEstore [off] {sym} ptr (InvertFlags x) mem)
// cond:
// result: (SETGEstore [off] {sym} ptr x mem)
v.AddArg(mem)
return true
}
- // match: (SETLEstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETLEstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETLEstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETLEstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETLEstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETLEstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETLEstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETLEstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETLEstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETLEstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
}
func rewriteValueAMD64_OpAMD64SETLstore_0(v *Value) bool {
b := v.Block
+ typ := &b.Func.Config.Types
// match: (SETLstore [off] {sym} ptr (InvertFlags x) mem)
// cond:
// result: (SETGstore [off] {sym} ptr x mem)
v.AddArg(mem)
return true
}
- // match: (SETLstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETLstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETLstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETLstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETLstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETLstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETLstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETLstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETLstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETLstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
func rewriteValueAMD64_OpAMD64SETNEstore_20(v *Value) bool {
b := v.Block
config := b.Func.Config
+ typ := &b.Func.Config.Types
// match: (SETNEstore [off] {sym} ptr (TESTL z1:(SHRLconst [31] x) z2) mem)
// cond: z1==z2 && !config.nacl
// result: (SETBstore [off] {sym} ptr (BTLconst [31] x) mem)
v.AddArg(mem)
return true
}
- // match: (SETNEstore [off] {sym} ptr x:(FlagEQ) mem)
+ // match: (SETNEstore [off] {sym} ptr (FlagEQ) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [0]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [0]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagEQ {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagEQ {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 0
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETNEstore [off] {sym} ptr x:(FlagLT_ULT) mem)
+ // match: (SETNEstore [off] {sym} ptr (FlagLT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETNEstore [off] {sym} ptr x:(FlagLT_UGT) mem)
+ // match: (SETNEstore [off] {sym} ptr (FlagLT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagLT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagLT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETNEstore [off] {sym} ptr x:(FlagGT_ULT) mem)
+ // match: (SETNEstore [off] {sym} ptr (FlagGT_ULT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_ULT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_ULT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)
return true
}
- // match: (SETNEstore [off] {sym} ptr x:(FlagGT_UGT) mem)
+ // match: (SETNEstore [off] {sym} ptr (FlagGT_UGT) mem)
// cond:
- // result: (MOVBstore [off] {sym} ptr (MOVLconst <x.Type> [1]) mem)
+ // result: (MOVBstore [off] {sym} ptr (MOVLconst <typ.UInt8> [1]) mem)
for {
off := v.AuxInt
sym := v.Aux
mem := v.Args[2]
ptr := v.Args[0]
- x := v.Args[1]
- if x.Op != OpAMD64FlagGT_UGT {
+ v_1 := v.Args[1]
+ if v_1.Op != OpAMD64FlagGT_UGT {
break
}
v.reset(OpAMD64MOVBstore)
v.AuxInt = off
v.Aux = sym
v.AddArg(ptr)
- v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, x.Type)
+ v0 := b.NewValue0(v.Pos, OpAMD64MOVLconst, typ.UInt8)
v0.AuxInt = 1
v.AddArg(v0)
v.AddArg(mem)