Home | History | Annotate | Download | only in arm64

Lines Matching refs:rl_dest

26 void Arm64Mir2Lir::GenArithOpFloat(Instruction::Code opcode, RegLocation rl_dest,
53 StoreValue(rl_dest, rl_result);
56 GenNegFloat(rl_dest, rl_src1);
63 rl_result = EvalLoc(rl_dest, kFPReg, true);
65 StoreValue(rl_dest, rl_result);
69 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) {
101 StoreValueWide(rl_dest, rl_result);
104 GenNegDouble(rl_dest, rl_src1);
114 rl_result = EvalLoc(rl_dest, kFPReg, true);
115 DCHECK(rl_dest.wide);
118 StoreValueWide(rl_dest, rl_result);
121 void Arm64Mir2Lir::GenMultiplyByConstantFloat(RegLocation rl_dest, RegLocation rl_src1,
127 rl_result = EvalLoc(rl_dest, kFPReg, true);
129 StoreValue(rl_dest, rl_result);
132 void Arm64Mir2Lir::GenMultiplyByConstantDouble(RegLocation rl_dest, RegLocation rl_src1,
140 rl_result = EvalLocWide(rl_dest, kFPReg, true);
141 DCHECK(rl_dest.wide);
144 StoreValueWide(rl_dest, rl_result);
148 RegLocation rl_dest, RegLocation rl_src) {
219 rl_result = EvalLoc(rl_dest, dst_reg_class, true);
222 if (rl_dest.wide) {
223 StoreValueWide(rl_dest, rl_result);
225 StoreValue(rl_dest, rl_result);
279 void Arm64Mir2Lir::GenCmpFP(Instruction::Code opcode, RegLocation rl_dest,
309 ClobberSReg(rl_dest.s_reg_low);
310 rl_result = EvalLoc(rl_dest, kCoreReg, true);
317 ClobberSReg(rl_dest.s_reg_low);
318 rl_result = EvalLoc(rl_dest, kCoreReg, true);
334 StoreValue(rl_dest, rl_result);
337 void Arm64Mir2Lir::GenNegFloat(RegLocation rl_dest, RegLocation rl_src) {
340 rl_result = EvalLoc(rl_dest, kFPReg, true);
342 StoreValue(rl_dest, rl_result);
345 void Arm64Mir2Lir::GenNegDouble(RegLocation rl_dest, RegLocation rl_src) {
348 rl_result = EvalLoc(rl_dest, kFPReg, true);
350 StoreValueWide(rl_dest, rl_result);
353 static RegisterClass RegClassForAbsFP(RegLocation rl_src, RegLocation rl_dest) {
356 (rl_dest.location == kLocPhysReg && !rl_dest.reg.IsFloat())) {
360 if (rl_src.location == kLocPhysReg || rl_dest.location == kLocPhysReg) {
376 RegLocation rl_dest = info->result;
378 RegisterClass reg_class = RegClassForAbsFP(rl_src, rl_dest);
380 RegLocation rl_result = EvalLoc(rl_dest, reg_class, true);
387 StoreValue(rl_dest, rl_result);
395 RegLocation rl_dest = info->result;
397 RegisterClass reg_class = RegClassForAbsFP(rl_src, rl_dest);
399 RegLocation rl_result = EvalLoc(rl_dest, reg_class, true);
406 StoreValueWide(rl_dest, rl_result);
412 RegLocation rl_dest = InlineTargetWide(info); // double place for result
414 RegLocation rl_result = EvalLoc(rl_dest, kFPReg, true);
416 StoreValueWide(rl_dest, rl_result);
422 RegLocation rl_dest = InlineTargetWide(info);
424 RegLocation rl_result = EvalLoc(rl_dest, kFPReg, true);
426 StoreValueWide(rl_dest, rl_result);
432 RegLocation rl_dest = InlineTargetWide(info);
434 RegLocation rl_result = EvalLoc(rl_dest, kFPReg, true);
436 StoreValueWide(rl_dest, rl_result);
442 RegLocation rl_dest = InlineTargetWide(info);
444 RegLocation rl_result = EvalLoc(rl_dest, kFPReg, true);
446 StoreValueWide(rl_dest, rl_result);
454 RegLocation rl_dest = (is_double) ? InlineTargetWide(info) : InlineTarget(info);
456 RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true);
463 (is_double) ? StoreValueWide(rl_dest, rl_result) : StoreValue(rl_dest, rl_result);
475 RegLocation rl_dest = (is_double) ? InlineTargetWide(info) : InlineTarget(info);
476 RegLocation rl_result = EvalLoc(rl_dest, kFPReg, true);
478 (is_double) ? StoreValueWide(rl_dest, rl_result) : StoreValue(rl_dest, rl_result);