Lines Matching refs:instr

69 static inline vixl::Register OutputRegister(HInstruction* instr) {
70 return RegisterFrom(instr->GetLocations()->Out(), instr->GetType());
73 static inline vixl::Register InputRegisterAt(HInstruction* instr, int input_index) {
74 return RegisterFrom(instr->GetLocations()->InAt(input_index),
75 instr->InputAt(input_index)->GetType());
93 static inline vixl::FPRegister OutputFPRegister(HInstruction* instr) {
94 return FPRegisterFrom(instr->GetLocations()->Out(), instr->GetType());
97 static inline vixl::FPRegister InputFPRegisterAt(HInstruction* instr, int input_index) {
98 return FPRegisterFrom(instr->GetLocations()->InAt(input_index),
99 instr->InputAt(input_index)->GetType());
107 static inline vixl::CPURegister OutputCPURegister(HInstruction* instr) {
108 return Primitive::IsFloatingPointType(instr->GetType())
109 ? static_cast<vixl::CPURegister>(OutputFPRegister(instr))
110 : static_cast<vixl::CPURegister>(OutputRegister(instr));
113 static inline vixl::CPURegister InputCPURegisterAt(HInstruction* instr, int index) {
114 return Primitive::IsFloatingPointType(instr->InputAt(index)->GetType())
115 ? static_cast<vixl::CPURegister>(InputFPRegisterAt(instr, index))
116 : static_cast<vixl::CPURegister>(InputRegisterAt(instr, index));
120 HConstant* instr = location.GetConstant();
121 if (instr->IsIntConstant()) {
122 return instr->AsIntConstant()->GetValue();
123 } else if (instr->IsNullConstant()) {
126 DCHECK(instr->IsLongConstant());
127 return instr->AsLongConstant()->GetValue();
139 static inline vixl::Operand InputOperandAt(HInstruction* instr, int input_index) {
140 return OperandFrom(instr->GetLocations()->InAt(input_index),
141 instr->InputAt(input_index)->GetType());
186 static bool CanEncodeConstantAsImmediate(HConstant* constant, HInstruction* instr) {
197 if (instr->IsAdd() || instr->IsSub() || instr->IsCondition() ||
198 instr->IsCompare() || instr->IsBoundsCheck()) {
201 } else if (instr->IsAnd() || instr->IsOr() || instr->IsXor()) {
205 DCHECK(instr->IsNeg());
212 HInstruction* instr) {
214 && CanEncodeConstantAsImmediate(constant->AsConstant(), instr)) {