reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1391 B.setInstr(MI); 1401 auto Unmerge = B.buildUnmerge({S32, S32}, Src); 1406 auto Exp = extractF64Exponent(Hi, B); 1411 const auto SignBitMask = B.buildConstant(S32, UINT32_C(1) << 31); 1412 auto SignBit = B.buildAnd(S32, Hi, SignBitMask); 1414 const auto FractMask = B.buildConstant(S64, (UINT64_C(1) << FractBits) - 1); 1416 const auto Zero32 = B.buildConstant(S32, 0); 1419 auto SignBit64 = B.buildMerge(S64, {Zero32.getReg(0), SignBit.getReg(0)}); 1421 auto Shr = B.buildAShr(S64, FractMask, Exp); 1422 auto Not = B.buildNot(S64, Shr); 1423 auto Tmp0 = B.buildAnd(S64, Src, Not); 1424 auto FiftyOne = B.buildConstant(S32, FractBits - 1); 1426 auto ExpLt0 = B.buildICmp(CmpInst::ICMP_SLT, S1, Exp, Zero32); 1427 auto ExpGt51 = B.buildICmp(CmpInst::ICMP_SGT, S1, Exp, FiftyOne); 1429 auto Tmp1 = B.buildSelect(S64, ExpLt0, SignBit64, Tmp0); 1430 B.buildSelect(MI.getOperand(0).getReg(), ExpGt51, Src, Tmp1);