/art/compiler/dex/quick/mips/ |
D | utility_mips.cc | 32 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 …]
|
D | int_mips.cc | 181 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 …]
|
D | codegen_mips.h | 83 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 …]
|
D | target_mips.cc | 789 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/ |
D | utility_x86.cc | 33 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 …]
|
D | codegen_x86.h | 92 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 …]
|
D | int_x86.cc | 126 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 …]
|
D | fp_x86.cc | 65 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()
|
D | target_x86.cc | 767 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/ |
D | utility_arm64.cc | 112 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 …]
|
D | codegen_arm64.h | 67 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 …]
|
D | int_arm64.cc | 314 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/ |
D | utility_arm.cc | 77 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 …]
|
D | codegen_arm.h | 71 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 …]
|
D | int_arm.cc | 414 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/ |
D | gen_loadstore.cc | 31 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 …]
|
D | mir_to_lir.h | 974 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 …]
|
D | codegen_util.cc | 1325 RegStorage r_dest ATTRIBUTE_UNUSED, in OpPcRelDexCacheArrayLoad()
|