Lines Matching refs:rDest
31 int rDest);
46 * 1) rDest is freshly returned from dvmCompilerAllocTemp or
49 static ArmLIR *loadConstantNoClobber(CompilationUnit *cUnit, int rDest,
53 int tDest = LOWREG(rDest) ? rDest : dvmCompilerAllocTemp(cUnit);
57 if (rDest != tDest) {
58 opRegReg(cUnit, kOpMov, rDest, tDest);
65 if (rDest != tDest) {
66 opRegReg(cUnit, kOpMov, rDest, tDest);
93 if (rDest != tDest) {
94 opRegReg(cUnit, kOpMov, rDest, tDest);
104 static ArmLIR *loadConstant(CompilationUnit *cUnit, int rDest, int value)
106 if (dvmCompilerIsTemp(cUnit, rDest)) {
107 dvmCompilerClobber(cUnit, rDest);
108 dvmCompilerMarkInUse(cUnit, rDest);
110 return loadConstantNoClobber(cUnit, rDest, value);
117 static ArmLIR *loadClassPointer(CompilationUnit *cUnit, int rDest, int value)
121 if (dvmCompilerIsTemp(cUnit, rDest)) {
122 dvmCompilerClobber(cUnit, rDest);
123 dvmCompilerMarkInUse(cUnit, rDest);
134 loadPcRel->operands[0] = rDest;
250 static ArmLIR *opRegRegReg(CompilationUnit *cUnit, OpKind op, int rDest,
262 if (rDest == rSrc1) {
263 return opRegReg(cUnit, op, rDest, rSrc2);
264 } else if (rDest == rSrc2) {
268 return opRegReg(cUnit, kOpMov, rDest, rSrc1);
270 opRegReg(cUnit, kOpMov, rDest, rSrc1);
271 return opRegReg(cUnit, op, rDest, rSrc2);
275 return newLIR3(cUnit, opcode, rDest, rSrc1, rSrc2);
278 static ArmLIR *opRegRegImm(CompilationUnit *cUnit, OpKind op, int rDest,
288 if (rDest == rSrc1)
289 return opRegImm(cUnit, op, rDest, value);
305 res = newLIR3(cUnit, opcode, rDest, rSrc1, 7);
307 newLIR2(cUnit, opcode, rDest, absValue - 7);
314 if (rDest == rSrc1)
315 return opRegImm(cUnit, op, rDest, value);
321 res = newLIR3(cUnit, opcode, rDest, rSrc1, 7);
323 newLIR2(cUnit, opcode, rDest, absValue - 7);
344 if (rDest == rSrc1) {
347 opRegReg(cUnit, op, rDest, rScratch);
349 res = loadConstant(cUnit, rDest, value);
350 opRegReg(cUnit, op, rDest, rSrc1);
359 res = newLIR3(cUnit, opcode, rDest, rSrc1, absValue);
361 if (rDest != rSrc1) {
362 res = loadConstant(cUnit, rDest, value);
363 newLIR3(cUnit, opcode, rDest, rSrc1, rDest);
367 newLIR3(cUnit, opcode, rDest, rSrc1, rScratch);
470 int rIndex, int rDest, int scale, OpSize size)
501 res = newLIR3(cUnit, opcode, rDest, rBase, rNewIndex);
576 int displacement, int rDest, int rDestHi,
609 if (LOWREG(rDest) && (rBase == r15pc) &&
614 } else if (LOWREG(rDest) && (rBase == r13sp) &&
657 load = res = newLIR3(cUnit, opcode, rDest, rBase, encodedDisp);
665 load = newLIR3(cUnit, kThumbLdrRRI5, rDest, rTmp, 0);
669 int rTmp = (rBase == rDest) ? dvmCompilerAllocFreeTemp(cUnit)
670 : rDest;
672 load = newLIR3(cUnit, opcode, rDest, rBase, rTmp);
676 if (rTmp != rDest)
698 int displacement, int rDest, OpSize size,
701 return loadBaseDispBody(cUnit, mir, rBase, displacement, rDest, -1,
839 static ArmLIR* genRegCopyNoInsert(CompilationUnit *cUnit, int rDest, int rSrc)
844 if (LOWREG(rDest) && LOWREG(rSrc))
846 else if (!LOWREG(rDest) && !LOWREG(rSrc))
848 else if (LOWREG(rDest))
853 res->operands[0] = rDest;
857 if (rDest == rSrc) {
863 static ArmLIR* genRegCopy(CompilationUnit *cUnit, int rDest, int rSrc)
865 ArmLIR *res = genRegCopyNoInsert(cUnit, rDest, rSrc);