1
2
3
4
5 package ssa
6
7 import "cmd/compile/internal/ssa/ssaop"
8
9
10 func (v *Value) IsFlagOp() bool {
11 if v.Type.IsFlags() || v.Type.IsTuple() && v.Type.FieldType(1).IsFlags() {
12 return true
13 }
14
15
16 switch v.Op {
17 case ssaop.OpPPC64SUBC, ssaop.OpPPC64ADDC, ssaop.OpPPC64SUBCconst, ssaop.OpPPC64ADDCconst:
18 return true
19 }
20 return false
21 }
22
23
24 func (v *Value) HasFlagInput() bool {
25 for _, a := range v.Args {
26 if a.IsFlagOp() {
27 return true
28 }
29 }
30
31
32 switch v.Op {
33 case ssaop.OpPPC64SUBE, ssaop.OpPPC64ADDE, ssaop.OpPPC64SUBZEzero, ssaop.OpPPC64ADDZE, ssaop.OpPPC64ADDZEzero:
34 return true
35 }
36 return false
37 }
38
View as plain text