Home
last modified time | relevance | path

Searched refs:rl_dest (Results 1 – 25 of 26) sorted by relevance

12

/art/compiler/dex/quick/
Dgen_loadstore.cc43 void Mir2Lir::Workaround7250540(RegLocation rl_dest, RegStorage zero_reg) { in Workaround7250540() argument
44 if (rl_dest.fp) { in Workaround7250540()
45 int pmap_index = SRegToPMap(rl_dest.s_reg_low); in Workaround7250540()
49 int base_vreg = mir_graph_->SRegToVReg(rl_dest.s_reg_low); in Workaround7250540()
69 … StoreBaseDisp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), temp_reg, k32, kNotVolatile); in Workaround7250540()
173 void Mir2Lir::StoreValue(RegLocation rl_dest, RegLocation rl_src) { in StoreValue() argument
181 (rl_dest.s_reg_low != live_sreg_)); in StoreValue()
182 live_sreg_ = rl_dest.s_reg_low; in StoreValue()
186 DCHECK(!rl_dest.wide); in StoreValue()
189 rl_dest = UpdateLoc(rl_dest); in StoreValue()
[all …]
Dmir_to_lir.cc163 void Mir2Lir::LoadArgDirect(int in_position, RegLocation rl_dest) { in LoadArgDirect() argument
182 if (!rl_dest.wide) { in LoadArgDirect()
185 OpRegCopy(rl_dest.reg, reg); in LoadArgDirect()
187 Load32Disp(TargetPtrReg(kSp), offset, rl_dest.reg); in LoadArgDirect()
193 OpRegCopy(rl_dest.reg, reg); in LoadArgDirect()
195 LoadBaseDisp(TargetPtrReg(kSp), offset, rl_dest.reg, k64, kNotVolatile); in LoadArgDirect()
205 if (rl_dest.reg.IsDouble() && (reg_arg_low.Valid() != reg_arg_high.Valid())) { in LoadArgDirect()
214 OpRegCopyWide(rl_dest.reg, RegStorage::MakeRegPair(reg_arg_low, reg_arg_high)); in LoadArgDirect()
216 OpRegCopy(rl_dest.reg, reg_arg_low); in LoadArgDirect()
218 Load32Disp(TargetPtrReg(kSp), offset_high, rl_dest.reg.GetHigh()); in LoadArgDirect()
[all …]
Dgen_common.cc315 void Mir2Lir::GenIntToLong(RegLocation rl_dest, RegLocation rl_src) { in GenIntToLong() argument
316 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true); in GenIntToLong()
323 StoreValueWide(rl_dest, rl_result); in GenIntToLong()
326 void Mir2Lir::GenIntNarrowing(Instruction::Code opcode, RegLocation rl_dest, in GenIntNarrowing() argument
329 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true); in GenIntNarrowing()
345 StoreValue(rl_dest, rl_result); in GenIntNarrowing()
353 void Mir2Lir::GenNewArray(uint32_t type_idx, RegLocation rl_dest, in GenNewArray() argument
383 StoreValue(rl_dest, GetReturn(kRefReg)); in GenNewArray()
620 void Mir2Lir::GenSget(MIR* mir, RegLocation rl_dest, in GenSget() argument
676 RegLocation rl_result = EvalLoc(rl_dest, reg_class, true); in GenSget()
[all …]
Dmir_to_lir.h822 RegLocation rl_src, RegLocation rl_dest, int lit);
823 bool HandleEasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit);
845 virtual void GenIntToLong(RegLocation rl_dest, RegLocation rl_src);
846 void GenIntNarrowing(Instruction::Code opcode, RegLocation rl_dest,
848 void GenNewArray(uint32_t type_idx, RegLocation rl_dest,
853 void GenSget(MIR* mir, RegLocation rl_dest,
856 RegLocation rl_dest, RegLocation rl_obj, bool is_long_or_double, bool is_object);
862 void GenConstClass(uint32_t type_idx, RegLocation rl_dest);
863 void GenConstString(uint32_t string_idx, RegLocation rl_dest);
864 void GenNewInstance(uint32_t type_idx, RegLocation rl_dest);
[all …]
Dgen_invoke.cc1217 RegLocation rl_dest = InlineTarget(info); in GenInlinedReferenceGetReferent() local
1218 RegLocation rl_result = EvalLoc(rl_dest, kRefReg, true); in GenInlinedReferenceGetReferent()
1223 StoreValue(rl_dest, rl_result); in GenInlinedReferenceGetReferent()
1281 RegLocation rl_dest = InlineTarget(info); in GenInlinedCharAt() local
1282 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true); in GenInlinedCharAt()
1286 StoreValue(rl_dest, rl_result); in GenInlinedCharAt()
1304 RegLocation rl_dest = InlineTarget(info); in GenInlinedStringIsEmptyOrLength() local
1305 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true); in GenInlinedStringIsEmptyOrLength()
1324 StoreValue(rl_dest, rl_result); in GenInlinedStringIsEmptyOrLength()
1335 RegLocation rl_dest = (size == k64) ? InlineTargetWide(info) : InlineTarget(info); // result reg in GenInlinedReverseBytes() local
[all …]
/art/compiler/dex/quick/arm64/
Dfp_arm64.cc24 void Arm64Mir2Lir::GenArithOpFloat(Instruction::Code opcode, RegLocation rl_dest, in GenArithOpFloat() argument
51 StoreValue(rl_dest, rl_result); in GenArithOpFloat()
54 GenNegFloat(rl_dest, rl_src1); in GenArithOpFloat()
61 rl_result = EvalLoc(rl_dest, kFPReg, true); in GenArithOpFloat()
63 StoreValue(rl_dest, rl_result); in GenArithOpFloat()
67 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) { in GenArithOpDouble() argument
99 StoreValueWide(rl_dest, rl_result); in GenArithOpDouble()
102 GenNegDouble(rl_dest, rl_src1); in GenArithOpDouble()
112 rl_result = EvalLoc(rl_dest, kFPReg, true); in GenArithOpDouble()
113 DCHECK(rl_dest.wide); in GenArithOpDouble()
[all …]
Dint_arm64.cc49 void Arm64Mir2Lir::GenCmpLong(RegLocation rl_dest, RegLocation rl_src1, in GenCmpLong() argument
54 rl_result = EvalLoc(rl_dest, kCoreReg, true); in GenCmpLong()
60 StoreValue(rl_dest, rl_result); in GenCmpLong()
63 void Arm64Mir2Lir::GenShiftOpLong(Instruction::Code opcode, RegLocation rl_dest, in GenShiftOpLong() argument
84 RegLocation rl_result = EvalLocWide(rl_dest, kCoreReg, true); in GenShiftOpLong()
86 StoreValueWide(rl_dest, rl_result); in GenShiftOpLong()
189 RegLocation rl_dest = mir_graph_->GetDest(mir); in GenSelect() local
193 RegLocation rl_result = EvalLoc(rl_dest, rl_dest.ref ? kRefReg : kCoreReg, true); in GenSelect()
195 rl_dest.ref ? kRefReg : kCoreReg); in GenSelect()
196 StoreValue(rl_dest, rl_result); in GenSelect()
[all …]
Dcodegen_arm64.h67 RegLocation rl_dest, int lit) OVERRIDE;
69 RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE;
71 RegLocation rl_src, RegLocation rl_dest, int64_t lit);
72 bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE;
140 void GenShiftOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
142 void GenArithImmOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
145 RegLocation rl_dest, int scale) OVERRIDE;
148 void GenShiftImmOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
150 void GenArithOpDouble(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
152 void GenArithOpFloat(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
[all …]
Dcall_arm64.cc279 void Arm64Mir2Lir::GenMoveException(RegLocation rl_dest) { in GenMoveException() argument
281 RegLocation rl_result = EvalLoc(rl_dest, kRefReg, true); in GenMoveException()
284 StoreValue(rl_dest, rl_result); in GenMoveException()
/art/compiler/dex/quick/mips/
Dfp_mips.cc25 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) { in GenArithOpFloat() argument
55 StoreValue(rl_dest, rl_result); in GenArithOpFloat()
58 GenNegFloat(rl_dest, rl_src1); in GenArithOpFloat()
65 rl_result = EvalLoc(rl_dest, kFPReg, true); in GenArithOpFloat()
67 StoreValue(rl_dest, rl_result); in GenArithOpFloat()
71 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) { in GenArithOpDouble() argument
97 StoreValueWide(rl_dest, rl_result); in GenArithOpDouble()
100 GenNegDouble(rl_dest, rl_src1); in GenArithOpDouble()
109 rl_result = EvalLoc(rl_dest, kFPReg, true); in GenArithOpDouble()
110 DCHECK(rl_dest.wide); in GenArithOpDouble()
[all …]
Dint_mips.cc44 void MipsMir2Lir::GenCmpLong(RegLocation rl_dest, RegLocation rl_src1, in GenCmpLong() argument
50 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true); in GenCmpLong()
62 StoreValue(rl_dest, rl_result); in GenCmpLong()
238 RegLocation MipsMir2Lir::GenDivRem(RegLocation rl_dest, RegStorage reg1, RegStorage reg2, in GenDivRem() argument
241 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true); in GenDivRem()
250 RegLocation MipsMir2Lir::GenDivRemLit(RegLocation rl_dest, RegStorage reg1, int lit, in GenDivRemLit() argument
255 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true); in GenDivRemLit()
265 RegLocation MipsMir2Lir::GenDivRem(RegLocation rl_dest, RegLocation rl_src1, in GenDivRem() argument
268 return rl_dest; in GenDivRem()
271 RegLocation MipsMir2Lir::GenDivRemLit(RegLocation rl_dest, RegLocation rl_src1, int lit, bool is_di… in GenDivRemLit() argument
[all …]
Dcodegen_mips.h31 RegLocation rl_dest, int lit);
32 bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE;
87 void GenArithImmOpLong(Instruction::Code opcode, RegLocation rl_dest,
90 RegLocation rl_index, RegLocation rl_dest, int scale);
93 void GenShiftImmOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
95 void GenArithOpDouble(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
97 void GenArithOpFloat(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
99 void GenCmpFP(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
101 void GenConversion(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src);
109 void GenArithOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
[all …]
Dcall_mips.cc261 void MipsMir2Lir::GenMoveException(RegLocation rl_dest) { in GenMoveException() argument
263 RegLocation rl_result = EvalLoc(rl_dest, kRefReg, true); in GenMoveException()
269 StoreValue(rl_dest, rl_result); in GenMoveException()
/art/compiler/dex/quick/arm/
Dfp_arm.cc23 void ArmMir2Lir::GenArithOpFloat(Instruction::Code opcode, RegLocation rl_dest, in GenArithOpFloat() argument
54 StoreValue(rl_dest, rl_result); in GenArithOpFloat()
57 GenNegFloat(rl_dest, rl_src1); in GenArithOpFloat()
64 rl_result = EvalLoc(rl_dest, kFPReg, true); in GenArithOpFloat()
66 StoreValue(rl_dest, rl_result); in GenArithOpFloat()
70 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) { in GenArithOpDouble() argument
96 StoreValueWide(rl_dest, rl_result); in GenArithOpDouble()
99 GenNegDouble(rl_dest, rl_src1); in GenArithOpDouble()
109 rl_result = EvalLoc(rl_dest, kFPReg, true); in GenArithOpDouble()
110 DCHECK(rl_dest.wide); in GenArithOpDouble()
[all …]
Dcodegen_arm.h31 RegLocation rl_dest, int lit);
32 bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE;
87 void GenArithOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
89 void GenArithImmOpLong(Instruction::Code opcode, RegLocation rl_dest,
92 RegLocation rl_index, RegLocation rl_dest, int scale);
95 void GenShiftImmOpLong(Instruction::Code opcode, RegLocation rl_dest,
97 void GenArithOpDouble(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
99 void GenArithOpFloat(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
101 void GenCmpFP(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
103 void GenConversion(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src);
[all …]
Dint_arm.cc122 void ArmMir2Lir::GenCmpLong(RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) { in GenCmpLong() argument
147 StoreValue(rl_dest, rl_temp); in GenCmpLong()
233 RegLocation rl_dest = mir_graph_->GetDest(mir); in GenSelect() local
236 RegisterClass result_reg_class = rl_dest.ref ? kRefReg : kCoreReg; in GenSelect()
243 rl_result = EvalLoc(rl_dest, result_reg_class, true); in GenSelect()
286 rl_result = EvalLoc(rl_dest, result_reg_class, true); in GenSelect()
302 StoreValue(rl_dest, rl_result); in GenSelect()
493 RegLocation rl_src, RegLocation rl_dest, int lit) { in SmallLiteralDivRem() argument
505 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true); in SmallLiteralDivRem()
547 StoreValue(rl_dest, rl_result); in SmallLiteralDivRem()
[all …]
Dcall_arm.cc313 void ArmMir2Lir::GenMoveException(RegLocation rl_dest) { in GenMoveException() argument
315 RegLocation rl_result = EvalLoc(rl_dest, kRefReg, true); in GenMoveException()
321 StoreValue(rl_dest, rl_result); in GenMoveException()
/art/compiler/dex/quick/x86/
Dfp_x86.cc25 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) { in GenArithOpFloat() argument
52 GenRemFP(rl_dest, rl_src1, rl_src2, false /* is_double */); in GenArithOpFloat()
55 GenNegFloat(rl_dest, rl_src1); in GenArithOpFloat()
62 rl_result = EvalLoc(rl_dest, kFPReg, true); in GenArithOpFloat()
72 StoreValue(rl_dest, rl_result); in GenArithOpFloat()
76 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) { in GenArithOpDouble() argument
77 DCHECK(rl_dest.wide); in GenArithOpDouble()
78 DCHECK(rl_dest.fp); in GenArithOpDouble()
105 GenRemFP(rl_dest, rl_src1, rl_src2, true /* is_double */); in GenArithOpDouble()
108 GenNegDouble(rl_dest, rl_src1); in GenArithOpDouble()
[all …]
Dint_x86.cc34 void X86Mir2Lir::GenCmpLong(RegLocation rl_dest, RegLocation rl_src1, in GenCmpLong() argument
39 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true); in GenCmpLong()
47 StoreValue(rl_dest, rl_result); in GenCmpLong()
69 StoreValue(rl_dest, rl_result); in GenCmpLong()
273 RegLocation rl_dest = mir_graph_->GetDest(mir); in GenSelect() local
276 RegisterClass result_reg_class = rl_dest.ref ? kRefReg : kCoreReg; in GenSelect()
288 rl_result = EvalLoc(rl_dest, result_reg_class, true); in GenSelect()
294 rl_result = EvalLoc(rl_dest, result_reg_class, true); in GenSelect()
351 rl_result = EvalLoc(rl_dest, result_reg_class, true); in GenSelect()
381 StoreValue(rl_dest, rl_result); in GenSelect()
[all …]
Dcodegen_x86.h68 RegLocation rl_dest, int lit) OVERRIDE;
69 bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE;
147 RegLocation rl_dest, int scale) OVERRIDE;
151 void GenArithOpDouble(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
153 void GenArithOpFloat(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
155 void GenCmpFP(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
157 void GenConversion(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src) OVERRIDE;
170 void GenArithOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
172 void GenArithImmOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
174 void GenShiftImmOpLong(Instruction::Code opcode, RegLocation rl_dest,
[all …]
Dtarget_x86.cc909 void X86Mir2Lir::GenConstWide(RegLocation rl_dest, int64_t value) { in GenConstWide() argument
911 rl_dest = UpdateLocWide(rl_dest); in GenConstWide()
912 if ((rl_dest.location == kLocDalvikFrame) || in GenConstWide()
913 (rl_dest.location == kLocCompilerTemp)) { in GenConstWide()
917 int displacement = SRegOffset(rl_dest.s_reg_low); in GenConstWide()
930 Mir2Lir::GenConstWide(rl_dest, value); in GenConstWide()
1283 RegLocation rl_dest = InlineTarget(info); in GenInlinedIndexOf() local
1429 StoreValue(rl_dest, rl_return); in GenInlinedIndexOf()
2145 RegLocation rl_dest = mir_graph_->GetDest(mir); in GenAddReduceVector() local
2173 rl_result = EvalLoc(rl_dest, kFPReg, true); in GenAddReduceVector()
[all …]
Dcall_x86.cc175 void X86Mir2Lir::GenMoveException(RegLocation rl_dest) { in GenMoveException() argument
179 RegLocation rl_result = EvalLoc(rl_dest, kRefReg, true); in GenMoveException()
182 StoreValue(rl_dest, rl_result); in GenMoveException()
Dutility_x86.cc392 LIR* X86Mir2Lir::OpMemReg(OpKind op, RegLocation rl_dest, int r_value) { in OpMemReg() argument
393 DCHECK_NE(rl_dest.location, kLocPhysReg); in OpMemReg()
394 int displacement = SRegOffset(rl_dest.s_reg_low); in OpMemReg()
395 bool is64Bit = rl_dest.wide != 0; in OpMemReg()
/art/compiler/dex/portable/
Dmir_to_gbc.h99 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_dest);
108 void ConvertMoveException(RegLocation rl_dest);
112 void ConvertArrayLength(int opt_flags, RegLocation rl_dest,
125 void ConvertFPArithOp(OpKind op, RegLocation rl_dest, RegLocation rl_src1,
128 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2);
130 RegLocation rl_dest, RegLocation rl_src, int shift_amount);
131 void ConvertArithOp(OpKind op, RegLocation rl_dest, RegLocation rl_src1,
133 void ConvertArithOpLit(OpKind op, RegLocation rl_dest, RegLocation rl_src1,
138 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_dest);
140 void ConvertNewInstance(uint32_t type_idx, RegLocation rl_dest);
[all …]
Dmir_to_gbc.cc195 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_dest) { in ConvertSget() argument
199 DefineValue(res, rl_dest.orig_sreg); in ConvertSget()
271 void MirConverter::ConvertMoveException(RegLocation rl_dest) { in ConvertMoveException() argument
275 DefineValue(res, rl_dest.orig_sreg); in ConvertMoveException()
296 RegLocation rl_dest, RegLocation rl_src) { in ConvertArrayLength() argument
303 DefineValue(res, rl_dest.orig_sreg); in ConvertArrayLength()
408 void MirConverter::ConvertFPArithOp(OpKind op, RegLocation rl_dest, in ConvertFPArithOp() argument
422 DefineValue(res, rl_dest.orig_sreg); in ConvertFPArithOp()
426 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) { in ConvertShift() argument
432 DefineValue(res, rl_dest.orig_sreg); in ConvertShift()
[all …]

12