Lines Matching full:r_dest
71 LIR* ArmMir2Lir::LoadFPConstantValue(int r_dest, int value) {
72 DCHECK(ARM_SINGLEREG(r_dest));
77 NewLIR2(kThumb2Vmovs_IMM8, r_dest, 0);
79 return NewLIR3(kThumb2Vsubs, r_dest, r_dest, r_dest);
83 return NewLIR2(kThumb2Vmovs_IMM8, r_dest, encoded_imm);
91 r_dest, r15pc, 0, 0, 0, data_target);
170 * 1) r_dest is freshly returned from AllocTemp or
173 LIR* ArmMir2Lir::LoadConstantNoClobber(int r_dest, int value) {
177 if (ARM_FPREG(r_dest)) {
178 return LoadFPConstantValue(r_dest, value);
182 if (ARM_LOWREG(r_dest) && (value >= 0) && (value <= 255)) {
183 return NewLIR2(kThumbMovImm, r_dest, value);
188 res = NewLIR2(kThumb2MovImmShift, r_dest, mod_imm);
193 res = NewLIR2(kThumb2MvnImm12, r_dest, mod_imm);
198 res = NewLIR2(kThumb2MovImm16, r_dest, value);
202 res = NewLIR2(kThumb2MovImm16, r_dest, Low16Bits(value));
203 NewLIR2(kThumb2MovImm16H, r_dest, High16Bits(value));
352 LIR* ArmMir2Lir::OpRegRegRegShift(OpKind op, int r_dest, int r_src1,
355 bool thumb_form = (shift == 0) && ARM_LOWREG(r_dest) && ARM_LOWREG(r_src1) &&
411 return NewLIR4(opcode, r_dest, r_src1, r_src2, shift);
414 return NewLIR3(opcode, r_dest, r_src1, r_src2);
418 LIR* ArmMir2Lir::OpRegRegReg(OpKind op, int r_dest, int r_src1, int r_src2) {
419 return OpRegRegRegShift(op, r_dest, r_src1, r_src2, 0);
422 LIR* ArmMir2Lir::OpRegRegImm(OpKind op, int r_dest, int r_src1, int value) {
428 bool all_low_regs = (ARM_LOWREG(r_dest) && ARM_LOWREG(r_src1));
435 return NewLIR3(kThumbLslRRI5, r_dest, r_src1, value);
437 return NewLIR3(kThumb2LslRRI5, r_dest, r_src1, value);
440 return NewLIR3(kThumbLsrRRI5, r_dest, r_src1, value);
442 return NewLIR3(kThumb2LsrRRI5, r_dest, r_src1, value);
445 return NewLIR3(kThumbAsrRRI5, r_dest, r_src1, value);
447 return NewLIR3(kThumb2AsrRRI5, r_dest, r_src1, value);
449 return NewLIR3(kThumb2RorRRI5, r_dest, r_src1, value);
451 if (ARM_LOWREG(r_dest) && (r_src1 == r13sp) &&
453 return NewLIR3(kThumbAddSpRel, r_dest, r_src1, value >> 2);
454 } else if (ARM_LOWREG(r_dest) && (r_src1 == r15pc) &&
456 return NewLIR3(kThumbAddPcRel, r_dest, r_src1, value >> 2);
465 return NewLIR3(opcode, r_dest, r_src1, abs_value);
471 return NewLIR3(opcode, r_dest, r_src1, abs_value);
532 return NewLIR3(opcode, r_dest, r_src1, mod_imm);
537 res = NewLIR4(alt_opcode, r_dest, r_src1, r_scratch, 0);
539 res = NewLIR3(alt_opcode, r_dest, r_src1, r_scratch);
639 LIR* ArmMir2Lir::LoadBaseIndexed(int rBase, int r_index, int r_dest,
641 bool all_low_regs = ARM_LOWREG(rBase) && ARM_LOWREG(r_index) && ARM_LOWREG(r_dest);
647 if (ARM_FPREG(r_dest)) {
648 if (ARM_SINGLEREG(r_dest)) {
653 DCHECK(ARM_DOUBLEREG(r_dest));
655 DCHECK_EQ((r_dest & 0x1), 0);
674 load = NewLIR3(opcode, r_dest, reg_ptr, 0);
696 load = NewLIR3(opcode, r_dest, rBase, r_index);
698 load = NewLIR4(opcode, r_dest, rBase, r_index, scale);
768 LIR* ArmMir2Lir::LoadBaseDispBody(int rBase, int displacement, int r_dest,
774 bool all_low_regs = (ARM_LOWREG(rBase) && ARM_LOWREG(r_dest));
782 if (ARM_FPREG(r_dest)) {
783 if (ARM_SINGLEREG(r_dest)) {
785 r_dest = S2d(r_dest, r_dest_hi);
795 load = NewLIR4(kThumb2LdrdI8, r_dest, r_dest_hi, rBase, displacement >> 2);
797 load = LoadBaseDispBody(rBase, displacement, r_dest,
806 if (ARM_FPREG(r_dest)) {
814 if (ARM_LOWREG(r_dest) && (rBase == r15pc) &&
819 } else if (ARM_LOWREG(r_dest) && (rBase == r13sp) &&
872 load = NewLIR3(opcode, r_dest, rBase, encoded_disp);
876 load = LoadBaseIndexed(rBase, reg_offset, r_dest, 0, size);
888 LIR* ArmMir2Lir::LoadBaseDisp(int rBase, int displacement, int r_dest,
890 return LoadBaseDispBody(rBase, displacement, r_dest, -1, size, s_reg);
1012 LIR* ArmMir2Lir::OpFpRegCopy(int r_dest, int r_src) {
1014 DCHECK_EQ(ARM_DOUBLEREG(r_dest), ARM_DOUBLEREG(r_src));
1015 if (ARM_DOUBLEREG(r_dest)) {
1018 if (ARM_SINGLEREG(r_dest)) {
1025 LIR* res = RawLIR(current_dalvik_offset_, opcode, r_dest, r_src);
1026 if (!(cu_->disable_opt & (1 << kSafeOptimizations)) && r_dest == r_src) {
1049 LIR* ArmMir2Lir::OpRegMem(OpKind op, int r_dest, int rBase, int offset) {
1055 int displacement, int r_dest, int r_dest_hi, OpSize size,