github.com/bir3/gocompiler@v0.3.205/src/cmd/compile/internal/ssa/rewritePPC64latelower.go (about) 1 // Code generated from _gen/PPC64latelower.rules; DO NOT EDIT. 2 // generated with: cd _gen; go run . 3 4 package ssa 5 6 func rewriteValuePPC64latelower(v *Value) bool { 7 switch v.Op { 8 case OpPPC64ISEL: 9 return rewriteValuePPC64latelower_OpPPC64ISEL(v) 10 } 11 return false 12 } 13 func rewriteValuePPC64latelower_OpPPC64ISEL(v *Value) bool { 14 v_2 := v.Args[2] 15 v_1 := v.Args[1] 16 v_0 := v.Args[0] 17 // match: (ISEL [a] x (MOVDconst [0]) z) 18 // result: (ISELZ [a] x z) 19 for { 20 a := auxIntToInt32(v.AuxInt) 21 x := v_0 22 if v_1.Op != OpPPC64MOVDconst || auxIntToInt64(v_1.AuxInt) != 0 { 23 break 24 } 25 z := v_2 26 v.reset(OpPPC64ISELZ) 27 v.AuxInt = int32ToAuxInt(a) 28 v.AddArg2(x, z) 29 return true 30 } 31 // match: (ISEL [a] (MOVDconst [0]) y z) 32 // result: (ISELZ [a^0x4] y z) 33 for { 34 a := auxIntToInt32(v.AuxInt) 35 if v_0.Op != OpPPC64MOVDconst || auxIntToInt64(v_0.AuxInt) != 0 { 36 break 37 } 38 y := v_1 39 z := v_2 40 v.reset(OpPPC64ISELZ) 41 v.AuxInt = int32ToAuxInt(a ^ 0x4) 42 v.AddArg2(y, z) 43 return true 44 } 45 return false 46 } 47 func rewriteBlockPPC64latelower(b *Block) bool { 48 return false 49 }