Home | History | Annotate | Download | only in FP

Lines Matching full:cunit

27 static void loadValueAddressDirect(CompilationUnit *cUnit, RegLocation rlSrc,
30 rlSrc = rlSrc.wide ? dvmCompilerUpdateLocWide(cUnit, rlSrc) :
31 dvmCompilerUpdateLoc(cUnit, rlSrc);
34 dvmCompilerFlushRegWide(cUnit, rlSrc.lowReg, rlSrc.highReg);
36 dvmCompilerFlushReg(cUnit, rlSrc.lowReg);
39 dvmCompilerClobber(cUnit, rDest);
40 dvmCompilerLockTemp(cUnit, rDest);
41 opRegRegImm(cUnit, kOpAdd, rDest, r5FP,
42 dvmCompilerS2VReg(cUnit, rlSrc.sRegLow) << 2);
45 static bool genInlineSqrt(CompilationUnit *cUnit, MIR *mir)
47 RegLocation rlSrc = dvmCompilerGetSrcWide(cUnit, mir, 0, 1);
50 loadValueAddressDirect(cUnit, rlSrc, r2);
51 genDispatchToHandler(cUnit, TEMPLATE_SQRT_DOUBLE_VFP);
52 storeValueWide(cUnit, rlDest, rlResult);
64 static bool genArithOpFloat(CompilationUnit *cUnit, MIR *mir,
94 return genArithOpFloatPortable(cUnit, mir, rlDest, rlSrc1, rlSrc2);
99 loadValueAddressDirect(cUnit, rlDest, r0);
100 loadValueAddressDirect(cUnit, rlSrc1, r1);
101 loadValueAddressDirect(cUnit, rlSrc2, r2);
102 genDispatchToHandler(cUnit, opcode);
103 rlDest = dvmCompilerUpdateLoc(cUnit, rlDest);
105 dvmCompilerClobber(cUnit, rlDest.lowReg);
110 static bool genArithOpDouble(CompilationUnit *cUnit, MIR *mir,
136 return genArithOpDoublePortable(cUnit, mir, rlDest, rlSrc1,
142 loadValueAddressDirect(cUnit, rlDest, r0);
143 loadValueAddressDirect(cUnit, rlSrc1, r1);
144 loadValueAddressDirect(cUnit, rlSrc2, r2);
145 genDispatchToHandler(cUnit, opcode);
146 rlDest = dvmCompilerUpdateLocWide(cUnit, rlDest);
148 dvmCompilerClobber(cUnit, rlDest.lowReg);
149 dvmCompilerClobber(cUnit, rlDest.highReg);
154 static bool genConversion(CompilationUnit *cUnit, MIR *mir)
197 return genConversionPortable(cUnit, mir);
203 rlSrc = dvmCompilerGetSrcWide(cUnit, mir, 0, 1);
205 rlSrc = dvmCompilerGetSrc(cUnit, mir, 0);
209 rlDest = dvmCompilerGetDestWide(cUnit, mir, 0, 1);
211 rlDest = dvmCompilerGetDest(cUnit, mir, 0);
213 loadValueAddressDirect(cUnit, rlDest, r0);
214 loadValueAddressDirect(cUnit, rlSrc, r1);
215 genDispatchToHandler(cUnit, templateOpcode);
217 rlDest = dvmCompilerUpdateLocWide(cUnit, rlDest);
218 dvmCompilerClobber(cUnit, rlDest.highReg);
220 rlDest = dvmCompilerUpdateLoc(cUnit, rlDest);
222 dvmCompilerClobber(cUnit, rlDest.lowReg);
226 static bool genCmpFP(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest,
230 RegLocation rlResult = dvmCompilerGetReturn(cUnit);
251 loadValueAddressDirect(cUnit, rlSrc1, r0);
252 loadValueAddressDirect(cUnit, rlSrc2, r1);
253 genDispatchToHandler(cUnit, templateOpcode);
254 storeValue(cUnit, rlDest, rlResult);