blob: a9a14459e2acb9a2faf2747da1d6947f45f8f6a4 [file] [log] [blame]
// Code generated from _gen/PPC64latelower.rules using 'go generate'; DO NOT EDIT.
package ssa
func rewriteValuePPC64latelower(v *Value) bool {
switch v.Op {
case OpPPC64ISEL:
return rewriteValuePPC64latelower_OpPPC64ISEL(v)
}
return false
}
func rewriteValuePPC64latelower_OpPPC64ISEL(v *Value) bool {
v_2 := v.Args[2]
v_1 := v.Args[1]
v_0 := v.Args[0]
// match: (ISEL [a] x (MOVDconst [0]) z)
// result: (ISELZ [a] x z)
for {
a := auxIntToInt32(v.AuxInt)
x := v_0
if v_1.Op != OpPPC64MOVDconst || auxIntToInt64(v_1.AuxInt) != 0 {
break
}
z := v_2
v.reset(OpPPC64ISELZ)
v.AuxInt = int32ToAuxInt(a)
v.AddArg2(x, z)
return true
}
// match: (ISEL [a] (MOVDconst [0]) y z)
// result: (ISELZ [a^0x4] y z)
for {
a := auxIntToInt32(v.AuxInt)
if v_0.Op != OpPPC64MOVDconst || auxIntToInt64(v_0.AuxInt) != 0 {
break
}
y := v_1
z := v_2
v.reset(OpPPC64ISELZ)
v.AuxInt = int32ToAuxInt(a ^ 0x4)
v.AddArg2(y, z)
return true
}
return false
}
func rewriteBlockPPC64latelower(b *Block) bool {
return false
}