Home
last modified time | relevance | path

Searched refs:r_dest (Results 1 – 18 of 18) sorted by relevance

/art/compiler/dex/quick/mips/
Dutility_mips.cc32 LIR* MipsMir2Lir::OpFpRegCopy(RegStorage r_dest, RegStorage r_src) { in OpFpRegCopy() argument
35 DCHECK_EQ(r_dest.Is64Bit(), r_src.Is64Bit()); in OpFpRegCopy()
36 if (r_dest.Is64Bit()) { in OpFpRegCopy()
37 if (r_dest.IsDouble()) { in OpFpRegCopy()
43 r_src = r_dest; in OpFpRegCopy()
44 r_dest = t_opnd; in OpFpRegCopy()
52 if (r_dest.IsSingle()) { in OpFpRegCopy()
58 r_src = r_dest; in OpFpRegCopy()
59 r_dest = t_opnd; in OpFpRegCopy()
69 DCHECK_EQ(r_dest.IsDouble(), r_src.IsDouble()); in OpFpRegCopy()
[all …]
Dint_mips.cc181 LIR* MipsMir2Lir::OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src) { in OpRegCopyNoInsert() argument
187 if (r_dest.IsPair()) { in OpRegCopyNoInsert()
188 r_dest = r_dest.GetLow(); in OpRegCopyNoInsert()
194 DCHECK(!r_dest.IsPair() && !r_src.IsPair()); in OpRegCopyNoInsert()
197 if (r_dest.IsFloat() || r_src.IsFloat()) in OpRegCopyNoInsert()
198 return OpFpRegCopy(r_dest, r_src); in OpRegCopyNoInsert()
201 if (r_dest.Is64Bit() || r_src.Is64Bit()) { in OpRegCopyNoInsert()
209 res = RawLIR(current_dalvik_offset_, opcode, r_dest.GetReg(), r_src.GetReg()); in OpRegCopyNoInsert()
210 if (!(cu_->disable_opt & (1 << kSafeOptimizations)) && r_dest == r_src) { in OpRegCopyNoInsert()
216 void MipsMir2Lir::OpRegCopy(RegStorage r_dest, RegStorage r_src) { in OpRegCopy() argument
[all …]
Dcodegen_mips.h83 LIR* LoadBaseDisp(RegStorage r_base, int displacement, RegStorage r_dest, OpSize size,
85 LIR* LoadBaseIndexed(RegStorage r_base, RegStorage r_index, RegStorage r_dest, int scale,
87 LIR* LoadConstantNoClobber(RegStorage r_dest, int value);
88 LIR* LoadConstantWideNoClobber(RegStorage r_dest, int64_t value);
89 LIR* LoadConstantWide(RegStorage r_dest, int64_t value);
94 LIR* GenAtomic64Load(RegStorage r_base, int displacement, RegStorage r_dest);
200 LIR* OpFpRegCopy(RegStorage r_dest, RegStorage r_src);
206 void OpRegCopy(RegStorage r_dest, RegStorage r_src);
207 LIR* OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src);
210 LIR* OpMovRegMem(RegStorage r_dest, RegStorage r_base, int offset, MoveType move_type);
[all …]
Dtarget_mips.cc789 LIR* MipsMir2Lir::GenAtomic64Load(RegStorage r_base, int displacement, RegStorage r_dest) { in GenAtomic64Load() argument
790 DCHECK(!r_dest.IsFloat()); // See RegClassForFieldLoadStore(). in GenAtomic64Load()
792 DCHECK(r_dest.IsPair()); in GenAtomic64Load()
803 OpRegCopy(r_dest, TargetReg(kRet0)); in GenAtomic64Load()
806 OpRegCopyWide(r_dest, reg_ret); in GenAtomic64Load()
/art/compiler/dex/quick/x86/
Dutility_x86.cc33 LIR* X86Mir2Lir::OpFpRegCopy(RegStorage r_dest, RegStorage r_src) { in OpFpRegCopy() argument
36 DCHECK(r_dest.IsFloat() || r_src.IsFloat()); in OpFpRegCopy()
37 DCHECK_EQ(r_dest.IsDouble(), r_src.IsDouble()); in OpFpRegCopy()
38 if (r_dest.IsDouble()) { in OpFpRegCopy()
41 if (r_dest.IsSingle()) { in OpFpRegCopy()
53 LIR* res = RawLIR(current_dalvik_offset_, opcode, r_dest.GetReg(), r_src.GetReg()); in OpFpRegCopy()
54 if (r_dest == r_src) { in OpFpRegCopy()
87 LIR* X86Mir2Lir::LoadConstantNoClobber(RegStorage r_dest, int value) { in LoadConstantNoClobber() argument
88 RegStorage r_dest_save = r_dest; in LoadConstantNoClobber()
89 if (r_dest.IsFloat()) { in LoadConstantNoClobber()
[all …]
Dcodegen_x86.h92 LIR* LoadBaseDisp(RegStorage r_base, int displacement, RegStorage r_dest,
94 LIR* LoadBaseIndexed(RegStorage r_base, RegStorage r_index, RegStorage r_dest, int scale,
96 LIR* LoadConstantNoClobber(RegStorage r_dest, int value);
97 LIR* LoadConstantWide(RegStorage r_dest, int64_t value);
108 void OpPcRelDexCacheArrayLoad(const DexFile* dex_file, int offset, RegStorage r_dest, bool wide)
299 LIR* OpFpRegCopy(RegStorage r_dest, RegStorage r_src) OVERRIDE;
305 void OpRegCopy(RegStorage r_dest, RegStorage r_src) OVERRIDE;
306 LIR* OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src) OVERRIDE;
309 LIR* OpMovRegMem(RegStorage r_dest, RegStorage r_base, int offset, MoveType move_type) OVERRIDE;
311 LIR* OpCondRegReg(OpKind op, ConditionCode cc, RegStorage r_dest, RegStorage r_src) OVERRIDE;
[all …]
Dint_x86.cc126 LIR* X86Mir2Lir::OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src) { in OpRegCopyNoInsert() argument
128 if (r_dest.IsPair()) { in OpRegCopyNoInsert()
129 r_dest = r_dest.GetLow(); in OpRegCopyNoInsert()
134 if (r_dest.IsFloat() || r_src.IsFloat()) in OpRegCopyNoInsert()
135 return OpFpRegCopy(r_dest, r_src); in OpRegCopyNoInsert()
136 LIR* res = RawLIR(current_dalvik_offset_, r_dest.Is64Bit() ? kX86Mov64RR : kX86Mov32RR, in OpRegCopyNoInsert()
137 r_dest.GetReg(), r_src.GetReg()); in OpRegCopyNoInsert()
138 if (!(cu_->disable_opt & (1 << kSafeOptimizations)) && r_dest == r_src) { in OpRegCopyNoInsert()
144 void X86Mir2Lir::OpRegCopy(RegStorage r_dest, RegStorage r_src) { in OpRegCopy() argument
145 if (r_dest != r_src) { in OpRegCopy()
[all …]
Dfp_x86.cc65 RegStorage r_dest = rl_result.reg; in GenArithOpFloat() local
68 if (r_dest == r_src2) { in GenArithOpFloat()
70 OpRegCopy(r_src2, r_dest); in GenArithOpFloat()
72 OpRegCopy(r_dest, r_src1); in GenArithOpFloat()
73 NewLIR2(op, r_dest.GetReg(), r_src2.GetReg()); in GenArithOpFloat()
Dtarget_x86.cc767 RegStorage r_dest = cu_->target64 ? RegStorage::Solo64(reg) : RegStorage::Solo32(reg); in UnSpillCoreRegs() local
768 LoadBaseDisp(rs_rSP, offset, r_dest, size, kNotVolatile); in UnSpillCoreRegs()
/art/compiler/dex/quick/arm64/
Dutility_arm64.cc112 LIR* Arm64Mir2Lir::LoadFPConstantValue(RegStorage r_dest, int32_t value) { in LoadFPConstantValue() argument
113 DCHECK(r_dest.IsSingle()); in LoadFPConstantValue()
115 return NewLIR2(kA64Fmov2sw, r_dest.GetReg(), rwzr); in LoadFPConstantValue()
119 return NewLIR2(kA64Fmov2fI, r_dest.GetReg(), encoded_imm); in LoadFPConstantValue()
131 r_dest.GetReg(), 0, 0, 0, 0, data_target); in LoadFPConstantValue()
136 LIR* Arm64Mir2Lir::LoadFPConstantValueWide(RegStorage r_dest, int64_t value) { in LoadFPConstantValueWide() argument
137 DCHECK(r_dest.IsDouble()); in LoadFPConstantValueWide()
139 return NewLIR2(kA64Fmov2Sx, r_dest.GetReg(), rxzr); in LoadFPConstantValueWide()
143 return NewLIR2(WIDE(kA64Fmov2fI), r_dest.GetReg(), encoded_imm); in LoadFPConstantValueWide()
157 r_dest.GetReg(), 0, 0, 0, 0, data_target); in LoadFPConstantValueWide()
[all …]
Dcodegen_arm64.h67 LIR* LoadBaseDisp(RegStorage r_base, int displacement, RegStorage r_dest,
69 LIR* LoadBaseIndexed(RegStorage r_base, RegStorage r_index, RegStorage r_dest, int scale,
71 LIR* LoadConstantNoClobber(RegStorage r_dest, int value) OVERRIDE;
72 LIR* LoadConstantWide(RegStorage r_dest, int64_t value) OVERRIDE;
82 void OpPcRelDexCacheArrayLoad(const DexFile* dex_file, int offset, RegStorage r_dest, bool wide)
206 LIR* OpFpRegCopy(RegStorage r_dest, RegStorage r_src) OVERRIDE;
212 void OpRegCopy(RegStorage r_dest, RegStorage r_src) OVERRIDE;
213 LIR* OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src) OVERRIDE;
216 LIR* OpMovRegMem(RegStorage r_dest, RegStorage r_base, int offset, MoveType move_type) OVERRIDE;
218 LIR* OpCondRegReg(OpKind op, ConditionCode cc, RegStorage r_dest, RegStorage r_src) OVERRIDE;
[all …]
Dint_arm64.cc314 LIR* Arm64Mir2Lir::OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src) { in OpRegCopyNoInsert() argument
315 bool dest_is_fp = r_dest.IsFloat(); in OpRegCopyNoInsert()
322 DCHECK_EQ(r_dest.Is64Bit(), r_src.Is64Bit()); in OpRegCopyNoInsert()
326 opcode = UNLIKELY(A64_REG_IS_SP(r_dest.GetReg())) ? kA64Add4RRdT : kA64Mov2rr; in OpRegCopyNoInsert()
333 if (r_dest.Is64Bit() && r_src.Is64Bit()) { in OpRegCopyNoInsert()
338 bool dest_is_double = r_dest.IsDouble(); in OpRegCopyNoInsert()
350 if (r_dest.IsDouble()) { in OpRegCopyNoInsert()
360 r_dest = Check32BitReg(r_dest); in OpRegCopyNoInsert()
366 res = RawLIR(current_dalvik_offset_, opcode, r_dest.GetReg(), r_src.GetReg()); in OpRegCopyNoInsert()
368 if (!(cu_->disable_opt & (1 << kSafeOptimizations)) && r_dest == r_src) { in OpRegCopyNoInsert()
[all …]
/art/compiler/dex/quick/arm/
Dutility_arm.cc77 LIR* ArmMir2Lir::LoadFPConstantValue(int r_dest, int value) { in LoadFPConstantValue() argument
78 DCHECK(RegStorage::IsSingle(r_dest)); in LoadFPConstantValue()
83 NewLIR2(kThumb2Vmovs_IMM8, r_dest, 0); in LoadFPConstantValue()
85 return NewLIR3(kThumb2Vsubs, r_dest, r_dest, r_dest); in LoadFPConstantValue()
89 return NewLIR2(kThumb2Vmovs_IMM8, r_dest, encoded_imm); in LoadFPConstantValue()
98 r_dest, rs_r15pc.GetReg(), 0, 0, 0, data_target); in LoadFPConstantValue()
223 LIR* ArmMir2Lir::LoadConstantNoClobber(RegStorage r_dest, int value) { in LoadConstantNoClobber() argument
227 if (r_dest.IsFloat()) { in LoadConstantNoClobber()
228 return LoadFPConstantValue(r_dest.GetReg(), value); in LoadConstantNoClobber()
232 if (r_dest.Low8() && (value >= 0) && (value <= 255)) { in LoadConstantNoClobber()
[all …]
Dcodegen_arm.h71 LIR* LoadBaseDisp(RegStorage r_base, int displacement, RegStorage r_dest,
73 LIR* LoadBaseIndexed(RegStorage r_base, RegStorage r_index, RegStorage r_dest, int scale,
75 LIR* LoadConstantNoClobber(RegStorage r_dest, int value);
76 LIR* LoadConstantWide(RegStorage r_dest, int64_t value);
86 void OpPcRelDexCacheArrayLoad(const DexFile* dex_file, int offset, RegStorage r_dest,
202 LIR* OpFpRegCopy(RegStorage r_dest, RegStorage r_src);
209 void OpRegCopy(RegStorage r_dest, RegStorage r_src);
210 LIR* OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src);
213 LIR* OpMovRegMem(RegStorage r_dest, RegStorage r_base, int offset, MoveType move_type);
215 LIR* OpCondRegReg(OpKind op, ConditionCode cc, RegStorage r_dest, RegStorage r_src);
[all …]
Dint_arm.cc414 LIR* ArmMir2Lir::OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src) { in OpRegCopyNoInsert() argument
418 if (r_dest.IsPair()) { in OpRegCopyNoInsert()
419 r_dest = r_dest.GetLow(); in OpRegCopyNoInsert()
424 if (r_dest.IsFloat() || r_src.IsFloat()) in OpRegCopyNoInsert()
425 return OpFpRegCopy(r_dest, r_src); in OpRegCopyNoInsert()
426 if (r_dest.Low8() && r_src.Low8()) in OpRegCopyNoInsert()
428 else if (!r_dest.Low8() && !r_src.Low8()) in OpRegCopyNoInsert()
430 else if (r_dest.Low8()) in OpRegCopyNoInsert()
434 res = RawLIR(current_dalvik_offset_, opcode, r_dest.GetReg(), r_src.GetReg()); in OpRegCopyNoInsert()
435 if (!(cu_->disable_opt & (1 << kSafeOptimizations)) && r_dest == r_src) { in OpRegCopyNoInsert()
[all …]
/art/compiler/dex/quick/
Dgen_loadstore.cc31 LIR* Mir2Lir::LoadConstant(RegStorage r_dest, int value) { in LoadConstant() argument
32 if (IsTemp(r_dest)) { in LoadConstant()
33 Clobber(r_dest); in LoadConstant()
34 MarkInUse(r_dest); in LoadConstant()
36 return LoadConstantNoClobber(r_dest, value); in LoadConstant()
44 void Mir2Lir::LoadValueDirect(RegLocation rl_src, RegStorage r_dest) { in LoadValueDirect() argument
47 OpRegCopy(r_dest, rl_src.reg); in LoadValueDirect()
51 LoadConstantNoClobber(r_dest, mir_graph_->ConstantValue(rl_src)); in LoadValueDirect()
64 LoadBaseDisp(TargetPtrReg(kSp), SRegOffset(rl_src.s_reg_low), r_dest, op_size, kNotVolatile); in LoadValueDirect()
73 void Mir2Lir::LoadValueDirectFixed(RegLocation rl_src, RegStorage r_dest) { in LoadValueDirectFixed() argument
[all …]
Dmir_to_lir.h974 virtual LIR* LoadConstant(RegStorage r_dest, int value);
976 LIR* LoadWordDisp(RegStorage r_base, int displacement, RegStorage r_dest) { in LoadWordDisp() argument
977 return LoadBaseDisp(r_base, displacement, r_dest, kWord, kNotVolatile); in LoadWordDisp()
980 LIR* Load32Disp(RegStorage r_base, int displacement, RegStorage r_dest) { in Load32Disp() argument
981 return LoadBaseDisp(r_base, displacement, r_dest, k32, kNotVolatile); in Load32Disp()
984 LIR* LoadRefDisp(RegStorage r_base, int displacement, RegStorage r_dest, in LoadRefDisp() argument
986 return LoadBaseDisp(r_base, displacement, r_dest, kReference, is_volatile); in LoadRefDisp()
989 LIR* LoadRefIndexed(RegStorage r_base, RegStorage r_index, RegStorage r_dest, int scale) { in LoadRefIndexed() argument
990 return LoadBaseIndexed(r_base, r_index, r_dest, scale, kReference); in LoadRefIndexed()
997 virtual void LoadValueDirect(RegLocation rl_src, RegStorage r_dest);
[all …]
Dcodegen_util.cc1325 RegStorage r_dest ATTRIBUTE_UNUSED, in OpPcRelDexCacheArrayLoad()