reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3161 MI, KShiftAmt->getOperand(1).getCImm()->getValue(), HalfTy, ShiftAmtTy); 3169 Register InL = MRI.createGenericVirtualRegister(HalfTy); 3170 Register InH = MRI.createGenericVirtualRegister(HalfTy); 3184 auto LoS = MIRBuilder.buildShl(HalfTy, InL, Amt); 3186 auto LoOr = MIRBuilder.buildLShr(HalfTy, InL, AmtLack); 3187 auto HiOr = MIRBuilder.buildShl(HalfTy, InH, Amt); 3188 auto HiS = MIRBuilder.buildOr(HalfTy, LoOr, HiOr); 3191 auto LoL = MIRBuilder.buildConstant(HalfTy, 0); // Lo part is zero. 3192 auto HiL = MIRBuilder.buildShl(HalfTy, InL, AmtExcess); // Hi from Lo part. 3194 auto Lo = MIRBuilder.buildSelect(HalfTy, IsShort, LoS, LoL); 3196 HalfTy, IsZero, InH, MIRBuilder.buildSelect(HalfTy, IsShort, HiS, HiL)); 3196 HalfTy, IsZero, InH, MIRBuilder.buildSelect(HalfTy, IsShort, HiS, HiL)); 3205 auto HiS = MIRBuilder.buildInstr(MI.getOpcode(), {HalfTy}, {InH, Amt}); 3207 auto LoOr = MIRBuilder.buildLShr(HalfTy, InL, Amt); 3208 auto HiOr = MIRBuilder.buildShl(HalfTy, InH, AmtLack); 3209 auto LoS = MIRBuilder.buildOr(HalfTy, LoOr, HiOr); 3214 HiL = MIRBuilder.buildConstant(HalfTy, 0); // Hi part is zero. 3217 HiL = MIRBuilder.buildAShr(HalfTy, InH, ShiftAmt); // Sign of Hi part. 3219 auto LoL = MIRBuilder.buildInstr(MI.getOpcode(), {HalfTy}, 3223 HalfTy, IsZero, InL, MIRBuilder.buildSelect(HalfTy, IsShort, LoS, LoL)); 3223 HalfTy, IsZero, InL, MIRBuilder.buildSelect(HalfTy, IsShort, LoS, LoL)); 3225 auto Hi = MIRBuilder.buildSelect(HalfTy, IsShort, HiS, HiL);