Lines Matching refs:rBase
713 static ArmLIR *loadBaseIndexed(CompilationUnit *cUnit, int rBase,
716 bool allLowRegs = LOWREG(rBase) && LOWREG(rIndex) && LOWREG(rDest);
736 newLIR4(cUnit, kThumb2AddRRR, regPtr, rBase, rIndex,
739 opRegRegReg(cUnit, kOpAdd, regPtr, rBase, rIndex);
766 load = newLIR3(cUnit, opcode, rDest, rBase, rIndex);
768 load = newLIR4(cUnit, opcode, rDest, rBase, rIndex, scale);
777 static ArmLIR *storeBaseIndexed(CompilationUnit *cUnit, int rBase,
780 bool allLowRegs = LOWREG(rBase) && LOWREG(rIndex) && LOWREG(rSrc);
800 newLIR4(cUnit, kThumb2AddRRR, regPtr, rBase, rIndex,
803 opRegRegReg(cUnit, kOpAdd, regPtr, rBase, rIndex);
826 store = newLIR3(cUnit, opcode, rSrc, rBase, rIndex);
828 store = newLIR4(cUnit, opcode, rSrc, rBase, rIndex, scale);
842 static ArmLIR *loadBaseDispBody(CompilationUnit *cUnit, MIR *mir, int rBase,
850 bool allLowRegs = (LOWREG(rBase) && LOWREG(rDest));
868 res = loadBaseDispBody(cUnit, mir, rBase, displacement, rDest,
870 loadBaseDispBody(cUnit, NULL, rBase, displacement + 4, rDestHi,
884 if (LOWREG(rDest) && (rBase == r15pc) &&
889 } else if (LOWREG(rDest) && (rBase == r13sp) &&
941 load = res = newLIR3(cUnit, opcode, rDest, rBase, encodedDisp);
945 load = loadBaseIndexed(cUnit, rBase, regOffset, rDest, 0, size);
949 if (rBase == r5FP) {
959 static ArmLIR *loadBaseDisp(CompilationUnit *cUnit, MIR *mir, int rBase,
963 return loadBaseDispBody(cUnit, mir, rBase, displacement, rDest, -1,
967 static ArmLIR *loadBaseDispWide(CompilationUnit *cUnit, MIR *mir, int rBase,
971 return loadBaseDispBody(cUnit, mir, rBase, displacement, rDestLo, rDestHi,
976 static ArmLIR *storeBaseDispBody(CompilationUnit *cUnit, int rBase,
984 bool allLowRegs = (LOWREG(rBase) && LOWREG(rSrc));
991 res = storeBaseDispBody(cUnit, rBase, displacement, rSrc,
993 storeBaseDispBody(cUnit, rBase, displacement + 4, rSrcHi,
1054 store = res = newLIR3(cUnit, opcode, rSrc, rBase, encodedDisp);
1058 store = storeBaseIndexed(cUnit, rBase, rScratch, rSrc, 0, size);
1062 if (rBase == r5FP) {
1072 static ArmLIR *storeBaseDisp(CompilationUnit *cUnit, int rBase,
1075 return storeBaseDispBody(cUnit, rBase, displacement, rSrc, -1, size);
1078 static ArmLIR *storeBaseDispWide(CompilationUnit *cUnit, int rBase,
1081 return storeBaseDispBody(cUnit, rBase, displacement, rSrcLo, rSrcHi, kLong);
1084 static ArmLIR *loadMultiple(CompilationUnit *cUnit, int rBase, int rMask)
1088 if (LOWREG(rBase) && ((rMask & 0xff)==rMask)) {
1089 res = newLIR2(cUnit, kThumbLdmia, rBase, rMask);
1091 res = newLIR2(cUnit, kThumb2Ldmia, rBase, rMask);
1101 static ArmLIR *storeMultiple(CompilationUnit *cUnit, int rBase, int rMask)
1105 if (LOWREG(rBase) && ((rMask & 0xff)==rMask)) {
1106 res = newLIR2(cUnit, kThumbStmia, rBase, rMask);
1108 res = newLIR2(cUnit, kThumb2Stmia, rBase, rMask);