Home | History | Annotate | Download | only in mips

Lines Matching full:r_dest

24 LIR* MipsMir2Lir::OpFpRegCopy(int r_dest, int r_src) {
27 DCHECK_EQ(MIPS_DOUBLEREG(r_dest), MIPS_DOUBLEREG(r_src));
28 if (MIPS_DOUBLEREG(r_dest)) {
31 if (MIPS_SINGLEREG(r_dest)) {
37 r_src = r_dest;
38 r_dest = t_opnd;
46 LIR* res = RawLIR(current_dalvik_offset_, opcode, r_src, r_dest);
47 if (!(cu_->disable_opt & (1 << kSafeOptimizations)) && r_dest == r_src) {
75 * 1) r_dest is freshly returned from AllocTemp or
78 LIR* MipsMir2Lir::LoadConstantNoClobber(int r_dest, int value) {
81 int r_dest_save = r_dest;
82 int is_fp_reg = MIPS_FPREG(r_dest);
84 DCHECK(MIPS_SINGLEREG(r_dest));
85 r_dest = AllocTemp();
90 res = NewLIR2(kMipsMove, r_dest, r_ZERO);
92 res = NewLIR3(kMipsOri, r_dest, r_ZERO, value);
94 res = NewLIR3(kMipsAddiu, r_dest, r_ZERO, value);
96 res = NewLIR2(kMipsLui, r_dest, value>>16);
98 NewLIR3(kMipsOri, r_dest, r_dest, value);
102 NewLIR2(kMipsMtc1, r_dest, r_dest_save);
103 FreeTemp(r_dest);
161 LIR* MipsMir2Lir::OpRegRegReg(OpKind op, int r_dest, int r_src1, int r_src2) {
199 return NewLIR3(opcode, r_dest, r_src1, r_src2);
202 LIR* MipsMir2Lir::OpRegRegImm(OpKind op, int r_dest, int r_src1, int value) {
271 res = NewLIR3(opcode, r_dest, r_src1, value);
273 if (r_dest != r_src1) {
274 res = LoadConstant(r_dest, value);
275 NewLIR3(opcode, r_dest, r_src1, r_dest);
279 NewLIR3(opcode, r_dest, r_src1, r_scratch);
336 LIR* MipsMir2Lir::LoadBaseIndexed(int rBase, int r_index, int r_dest,
343 if (MIPS_FPREG(r_dest)) {
344 DCHECK(MIPS_SINGLEREG(r_dest));
382 res = NewLIR3(opcode, r_dest, 0, t_reg);
434 LIR* MipsMir2Lir::LoadBaseDispBody(int rBase, int displacement, int r_dest,
456 if (MIPS_FPREG(r_dest)) {
458 if (MIPS_DOUBLEREG(r_dest)) {
459 r_dest = r_dest - MIPS_FP_DOUBLE;
462 DCHECK(r_dest == (r_dest_hi - 1));
464 r_dest_hi = r_dest + 1;
472 if (MIPS_FPREG(r_dest)) {
474 DCHECK(MIPS_SINGLEREG(r_dest));
498 load = res = NewLIR3(opcode, r_dest, displacement, rBase);
500 load = res = NewLIR3(opcode, r_dest,
509 load = NewLIR3(opcode, r_dest, LOWORD_OFFSET, r_tmp);
513 int r_tmp = (rBase == r_dest) ? AllocFreeTemp() : r_dest;
515 load = NewLIR3(opcode, r_dest, 0, r_tmp);
516 if (r_tmp != r_dest)
532 LIR* MipsMir2Lir::LoadBaseDisp(int rBase, int displacement, int r_dest,
534 return LoadBaseDispBody(rBase, displacement, r_dest, -1,
651 LIR* MipsMir2Lir::OpRegMem(OpKind op, int r_dest, int rBase,
658 int r_dest, int r_dest_hi, OpSize size, int s_reg) {