/art/compiler/dex/quick/mips/ |
D | utility_mips.cc | 145 res = NewLIR3(kMipsOri, r_dest.GetReg(), rZERO, value); in LoadConstantNoClobber() 148 res = NewLIR3(kMipsAddiu, r_dest.GetReg(), rZERO, value); in LoadConstantNoClobber() 152 NewLIR3(kMipsOri, r_dest.GetReg(), r_dest.GetReg(), value); in LoadConstantNoClobber() 177 res = NewLIR3(kMipsOri, r_dest.GetReg(), rZEROd, value); in LoadConstantWideNoClobber() 179 res = NewLIR3(kMips64Daddiu, r_dest.GetReg(), rZEROd, value); in LoadConstantWideNoClobber() 185 NewLIR3(kMipsOri, r_dest.GetReg(), r_dest.GetReg(), value); in LoadConstantWideNoClobber() 187 res = NewLIR3(kMipsOri, r_dest.GetReg(), rZEROd, value); in LoadConstantWideNoClobber() 190 res = NewLIR3(kMipsOri, r_dest.GetReg(), rZEROd, value); in LoadConstantWideNoClobber() 208 res = NewLIR3(kMipsOri, r_dest.GetReg(), rZEROd, tmp); in LoadConstantWideNoClobber() 209 NewLIR3((shift_cnt < 32) ? kMips64Dsll : kMips64Dsll32, r_dest.GetReg(), r_dest.GetReg(), in LoadConstantWideNoClobber() [all …]
|
D | int_mips.cc | 59 NewLIR3(kMipsSlt, temp.GetReg(), rl_src1.reg.GetReg(), rl_src2.reg.GetReg()); in GenCmpLong() 60 NewLIR3(kMipsSlt, rl_result.reg.GetReg(), rl_src2.reg.GetReg(), rl_src1.reg.GetReg()); in GenCmpLong() 61 NewLIR3(kMipsSubu, rl_result.reg.GetReg(), rl_result.reg.GetReg(), temp.GetReg()); in GenCmpLong() 68 NewLIR3(kMipsSlt, t0.GetReg(), rl_src1.reg.GetHighReg(), rl_src2.reg.GetHighReg()); in GenCmpLong() 69 NewLIR3(kMipsSlt, t1.GetReg(), rl_src2.reg.GetHighReg(), rl_src1.reg.GetHighReg()); in GenCmpLong() 70 NewLIR3(kMipsSubu, rl_result.reg.GetReg(), t1.GetReg(), t0.GetReg()); in GenCmpLong() 72 NewLIR3(kMipsSltu, t0.GetReg(), rl_src1.reg.GetLowReg(), rl_src2.reg.GetLowReg()); in GenCmpLong() 73 NewLIR3(kMipsSltu, t1.GetReg(), rl_src2.reg.GetLowReg(), rl_src1.reg.GetLowReg()); in GenCmpLong() 74 NewLIR3(kMipsSubu, rl_result.reg.GetReg(), t1.GetReg(), t0.GetReg()); in GenCmpLong() 138 NewLIR3(slt_op, t_reg.GetReg(), src2.GetReg(), src1.GetReg()); in OpCmpBranch() [all …]
|
D | fp_mips.cc | 68 NewLIR3(op, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), rl_src2.reg.GetReg()); in GenArithOpFloat() 114 NewLIR3(op, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), rl_src2.reg.GetReg()); in GenArithOpDouble()
|
D | call_mips.cc | 98 NewLIR3(kMipsOri, r_end.GetReg(), r_end.GetReg(), size_lo); in GenLargeSparseSwitch() 100 NewLIR3(kMipsOri, r_end.GetReg(), rZERO, size_lo); in GenLargeSparseSwitch()
|
/art/compiler/dex/quick/arm/ |
D | utility_arm.cc | 85 return NewLIR3(kThumb2Vsubs, r_dest, r_dest, r_dest); in LoadFPConstantValue() 376 return NewLIR3(kThumb2RevRR, r_dest_src1.GetReg(), r_src2.GetReg(), r_src2.GetReg()); in OpRegRegShift() 384 return NewLIR3(kThumb2RevshRR, r_dest_src1.GetReg(), r_src2.GetReg(), r_src2.GetReg()); in OpRegRegShift() 406 return NewLIR3(opcode, r_dest_src1.GetReg(), r_src2.GetReg(), shift); in OpRegRegShift() 408 return NewLIR3(opcode, r_dest_src1.GetReg(), r_dest_src1.GetReg(), r_src2.GetReg()); in OpRegRegShift() 505 return NewLIR3(opcode, r_dest.GetReg(), r_src1.GetReg(), r_src2.GetReg()); in OpRegRegRegShift() 524 return NewLIR3(kThumbLslRRI5, r_dest.GetReg(), r_src1.GetReg(), value); in OpRegRegImm() 526 return NewLIR3(kThumb2LslRRI5, r_dest.GetReg(), r_src1.GetReg(), value); in OpRegRegImm() 529 return NewLIR3(kThumbLsrRRI5, r_dest.GetReg(), r_src1.GetReg(), value); in OpRegRegImm() 531 return NewLIR3(kThumb2LsrRRI5, r_dest.GetReg(), r_src1.GetReg(), value); in OpRegRegImm() [all …]
|
D | fp_arm.cc | 68 NewLIR3(op, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), rl_src2.reg.GetReg()); in GenArithOpFloat() 115 NewLIR3(op, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), rl_src2.reg.GetReg()); in GenArithOpDouble() 126 NewLIR3(kThumb2Vmuls, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), r_tmp.GetReg()); in GenMultiplyByConstantFloat() 141 NewLIR3(kThumb2Vmuld, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), r_tmp.GetReg()); in GenMultiplyByConstantDouble() 183 NewLIR3(kThumb2VmlaF64, rl_result.reg.GetReg(), tmp1.GetReg(), tmp2.GetReg()); in GenConversion() 209 NewLIR3(kThumb2VmlaF64, low_val.GetReg(), high_val.GetReg(), const_val.GetReg()); in GenConversion()
|
D | call_arm.cc | 80 NewLIR3(kThumb2Adr, r_base.GetReg(), 0, WrapPointer(tab_rec)); in GenLargeSparseSwitch() 116 NewLIR3(kThumb2Adr, table_base.GetReg(), 0, WrapPointer(tab_rec)); in GenLargePackedSwitch() 164 NewLIR3(kThumb2Ldrex, rs_r1.GetReg(), rs_r0.GetReg(), in GenMonitorEnter() 196 NewLIR3(kThumb2Ldrex, rs_r1.GetReg(), rs_r0.GetReg(), in GenMonitorEnter() 248 NewLIR3(kThumb2Ldrex, rs_r1.GetReg(), rs_r0.GetReg(), in GenMonitorExit() 288 NewLIR3(kThumb2Ldrex, rs_r1.GetReg(), rs_r0.GetReg(), in GenMonitorExit()
|
D | int_arm.cc | 467 NewLIR3(kThumb2Fmdrr, r_dest.GetReg(), r_src.GetLowReg(), r_src.GetHighReg()); in OpRegCopyWide() 471 NewLIR3(kThumb2Fmrrd, r_dest.GetLowReg(), r_dest.GetHighReg(), r_src.GetReg()); in OpRegCopyWide() 938 NewLIR3(kThumb2Ldrexd, r_tmp.GetReg(), r_tmp_high.GetReg(), r_ptr.GetReg()); in GenInlinedCas() 957 NewLIR3(kThumb2Ldrex, r_tmp.GetReg(), r_ptr.GetReg(), 0); in GenInlinedCas() 1128 return NewLIR3(kThumb2Vldms, r_base.GetReg(), rs_fr0.GetReg(), count); in OpVldm() 1132 return NewLIR3(kThumb2Vstms, r_base.GetReg(), rs_fr0.GetReg(), count); in OpVstm() 1309 NewLIR3(kThumb2MulRRR, tmp1.GetReg(), rl_src1.reg.GetLowReg(), rl_src1.reg.GetHighReg()); in GenMulLong() 1314 NewLIR3(kThumb2MulRRR, tmp1.GetReg(), rl_src2.reg.GetLowReg(), rl_src1.reg.GetHighReg()); in GenMulLong() 1671 NewLIR3(kThumb2AddRRI8M, rl_result.reg.GetLowReg(), rl_src1.reg.GetLowReg(), mod_imm_lo); in GenArithImmOpLong() 1672 NewLIR3(kThumb2AdcRRI8M, rl_result.reg.GetHighReg(), rl_src1.reg.GetHighReg(), mod_imm_hi); in GenArithImmOpLong() [all …]
|
/art/compiler/dex/quick/arm64/ |
D | utility_arm64.cc | 437 res = NewLIR3(kA64Movn3rdM, r_dest.GetReg(), ~useful_bits, shift); in LoadConstantNoClobber() 439 res = NewLIR3(kA64Movz3rdM, r_dest.GetReg(), useful_bits, shift); in LoadConstantNoClobber() 446 res = NewLIR3(kA64Orr3Rrl, r_dest.GetReg(), rwzr, log_imm); in LoadConstantNoClobber() 449 res = NewLIR3(kA64Movz3rdM, r_dest.GetReg(), low_bits, 0); in LoadConstantNoClobber() 450 NewLIR3(kA64Movk3rdM, r_dest.GetReg(), high_bits, 1); in LoadConstantNoClobber() 485 return NewLIR3(WIDE(kA64Orr3Rrl), r_dest.GetReg(), rxzr, log_imm); in LoadConstantWide() 509 res = NewLIR3(op, r_dest.GetReg(), halfword ^ background, shift); in LoadConstantWide() 518 NewLIR3(WIDE(kA64Movk3rdM), r_dest.GetReg(), halfword, shift); in LoadConstantWide() 622 return NewLIR3(opcode | wide, r_dest_src1.GetReg(), r_src2.GetReg(), shift); in OpRegRegShift() 655 return NewLIR3(opcode | wide, r_dest_src1.GetReg(), r_src2.GetReg(), in OpRegRegExtend() [all …]
|
D | fp_arm64.cc | 64 NewLIR3(op, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), rl_src2.reg.GetReg()); in GenArithOpFloat() 117 NewLIR3(WIDE(op), rl_result.reg.GetReg(), rl_src1.reg.GetReg(), rl_src2.reg.GetReg()); in GenArithOpDouble() 128 NewLIR3(kA64Fmul3fff, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), r_tmp.GetReg()); in GenMultiplyByConstantFloat() 143 NewLIR3(WIDE(kA64Fmul3fff), rl_result.reg.GetReg(), rl_src1.reg.GetReg(), r_tmp.GetReg()); in GenMultiplyByConstantDouble() 461 NewLIR3(kA64Fadd3fff | wide, r_tmp.GetReg(), rl_src.reg.GetReg(), r_imm_point5.GetReg()); in GenInlinedRound() 477 NewLIR3(op | wide, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), rl_src2.reg.GetReg()); in GenInlinedMinMaxFP()
|
D | call_arm64.cc | 73 NewLIR3(kA64Adr2xd, r_base.GetReg(), 0, WrapPointer(tab_rec)); in GenLargeSparseSwitch() 91 LIR* switch_label = NewLIR3(kA64Adr2xd, r_base.GetReg(), 0, -1); in GenLargeSparseSwitch() 119 NewLIR3(kA64Adr2xd, table_base.GetReg(), 0, WrapPointer(tab_rec)); in GenLargePackedSwitch() 139 LIR* switch_label = NewLIR3(kA64Adr2xd, branch_reg.GetReg(), 0, -1); in GenLargePackedSwitch() 184 NewLIR3(kA64Stxr3wrX, rw3, rw1, rx2); in GenMonitorEnter() 247 NewLIR3(kA64Stxr3wrX, rw1, rw2, rx3); in GenMonitorExit()
|
D | int_arm64.cc | 287 branch = NewLIR3(opcode | wide, reg.GetReg(), value, 0); in OpCmpImmBranch() 436 NewLIR3(kA64Smull3xww, As64BitReg(r_long_mul).GetReg(), r_magic.GetReg(), rl_src.reg.GetReg()); in SmallLiteralDivRem() 495 NewLIR3(WIDE(kA64Orr3Rrl), r_magic.GetReg(), rxzr, magic_table[lit].magic64_base); in SmallLiteralDivRem64() 497 NewLIR3(WIDE(kA64Eor3Rrl), r_magic.GetReg(), r_magic.GetReg(), in SmallLiteralDivRem64() 506 NewLIR3(kA64Smulh3xxx, r_long_mul.GetReg(), r_magic.GetReg(), rl_src.reg.GetReg()); in SmallLiteralDivRem64() 807 NewLIR3(kA64Stlxr3wrX | wide, r_tmp32.GetReg(), rl_new_value_stored.GetReg(), r_ptr.GetReg()); in GenInlinedCas() 808 NewLIR3(kA64Cmp3RdT, r_tmp32.GetReg(), 0, ENCODE_NO_SHIFT); in GenInlinedCas() 893 LIR* jmp_to_copy_two = NewLIR3(WIDE(kA64Tbz3rht), rs_length.GetReg(), 1, 0); in GenInlinedArrayCopyCharArray() 900 LIR* jmp_to_copy_four = NewLIR3(WIDE(kA64Tbz3rht), rs_length.GetReg(), 2, 0); in GenInlinedArrayCopyCharArray() 1030 NewLIR3(opcode, reg.GetReg(), reg.GetReg(), 1); // For value == 1, this should set flags. in OpDecAndBranch() [all …]
|
/art/compiler/dex/quick/x86/ |
D | utility_x86.cc | 177 return NewLIR3(opcode, r_dest_src1.GetReg(), r_dest_src1.GetReg(), value); in OpRegImm() 306 return NewLIR3(opcode, dest, r_base.GetReg(), offset); in OpMovRegMem() 359 return NewLIR3(opcode, r_base.GetReg(), offset, src); in OpMovMemReg() 366 return NewLIR3(r_dest.Is64Bit() ? kX86Cmov64RRC : kX86Cmov32RRC, r_dest.GetReg(), in OpCondRegReg() 390 LIR *l = NewLIR3(opcode, r_dest.GetReg(), r_base.GetReg(), offset); in OpRegMem() 418 LIR *l = NewLIR3(opcode, rs_rX86_SP_32.GetReg(), displacement, r_value); in OpMemReg() 444 LIR *l = NewLIR3(opcode, r_dest.GetReg(), rs_rX86_SP_32.GetReg(), displacement); in OpRegMem() 507 return NewLIR3(opcode, r_dest.GetReg(), r_src.GetReg(), value); in OpRegRegImm() 591 res = NewLIR3(kX86MovsdRM, low_reg_val, kRIPReg, 256 /* bogus */); in LoadConstantWide() 636 res = NewLIR3(kX86Mov64RI64, r_dest.GetReg(), val_hi, val_lo); in LoadConstantWide() [all …]
|
D | int_x86.cc | 659 NewLIR3(kX86Lea32RM, rl_result.reg.GetReg(), rl_src.reg.GetReg(), std::abs(imm) - 1); in GenDivRemLit() 1378 LIR* res = NewLIR3(kX86Mov32RM, reg.GetReg(), kRIPReg, kDummy32BitOffset); in OpPcRelLoad() 1390 LIR* res = NewLIR3(kX86Mov32RM, reg.GetReg(), r_pc.GetReg(), kDummy32BitOffset); in OpPcRelLoad() 1431 LIR* mov = NewLIR3(wide ? kX86Mov64RM : kX86Mov32RM, r_dest.GetReg(), kRIPReg, in OpPcRelDexCacheArrayLoad() 1443 LIR* mov = NewLIR3(kX86Mov32RM, r_dest.GetReg(), r_pc.GetReg(), kDummy32BitOffset); in OpPcRelDexCacheArrayLoad() 1575 NewLIR3(IS_SIMM8(index) ? kX86Cmp32MI8 : kX86Cmp32MI, array_base.GetReg(), len_offset, index); in GenArrayBoundsCheck() 1878 LIR* m = NewLIR3(kX86Imul32RM, rs_r1.GetReg(), rs_rX86_SP_32.GetReg(), in GenMulLong() 1900 LIR *m = NewLIR3(kX86Imul32RM, rs_r0.GetReg(), rs_rX86_SP_32.GetReg(), in GenMulLong() 1911 LIR *m = NewLIR3(kX86Imul32RM, rs_r1.GetReg(), rs_rX86_SP_32.GetReg(), in GenMulLong() 1980 LIR *lir = NewLIR3(x86op, cu_->target64 ? rl_dest.reg.GetReg() : rl_dest.reg.GetLowReg(), in GenLongRegOrMemOp() [all …]
|
D | target_x86.cc | 880 return NewLIR3(kX86Test32RM, rs_rAX.GetReg(), rs_rAX.GetReg(), 0); in CheckSuspendUsingLoad() 909 LIR * store = NewLIR3(kX86Mov32MI, r_base, displacement + LOWORD_OFFSET, val_lo); in GenConstWide() 912 store = NewLIR3(kX86Mov32MI, r_base, displacement + HIWORD_OFFSET, val_hi); in GenConstWide() 1405 NewLIR3(kX86Lea32RM, rl_return.reg.GetReg(), rs_tmp.GetReg(), -1); in GenInlinedIndexOf() 1573 load = NewLIR3(opcode, reg, kRIPReg, kDummy32BitOffset); in AppendOpcodeWithConst() 1579 load = NewLIR3(opcode, reg, r_pc.GetReg(), kDummy32BitOffset); in AppendOpcodeWithConst() 2020 NewLIR3(kX86ShufpsRRI, vector_src.GetReg(), vector_src.GetReg(), 0x39); in GenAddReduceVector() 2071 NewLIR3(kX86PshufdRRI, rs_tmp.GetReg(), vector_src.GetReg(), 0x4e); in GenAddReduceVector() 2111 NewLIR3(extract_opcode, temp.GetReg(), vector_src.GetReg(), 0); in GenAddReduceVector() 2166 NewLIR3(kX86ShufpsRRI, vector_src.GetReg(), vector_src.GetReg(), mask); in GenReduceVector() [all …]
|
D | call_x86.cc | 181 NewLIR3(kX86Test32RM, rs_rAX.GetReg(), rs_rSP.GetReg(), -overflow); in GenEntrySequence() 336 NewLIR3(kX86Test32RM, rs_rAX.GetReg(), reg.GetReg(), 0); in GenImplicitNullCheck()
|
D | fp_x86.cc | 653 LIR *lir = NewLIR3(kX86And32MI, rs_rX86_SP_32.GetReg(), displacement, 0x7fffffff); in GenInlinedAbsFloat() 717 …LIR *lir = NewLIR3(kX86And32MI, rs_rX86_SP_32.GetReg(), displacement + HIWORD_OFFSET, 0x7fffffff); in GenInlinedAbsDouble()
|
/art/compiler/dex/quick/ |
D | mir_to_lir-inl.h | 111 inline LIR* Mir2Lir::NewLIR3(int opcode, int dest, int src1, int src2) { in NewLIR3() function
|
D | mir_to_lir.h | 659 LIR* NewLIR3(int opcode, int dest, int src1, int src2);
|