Lines Matching defs:GRLen
2532 // if Shamt-GRLen < 0: // Shamt < GRLen
2534 // Hi = (Hi << Shamt) | ((Lo >>u 1) >>u (GRLen-1 ^ Shamt))
2537 // Hi = Lo << (Shamt-GRLen)
2573 // if Shamt-GRLen < 0: // Shamt < GRLen
2574 // Lo = (Lo >>u Shamt) | ((Hi << 1) << (ShAmt ^ GRLen-1))
2577 // Lo = Hi >>s (Shamt-GRLen);
2578 // Hi = Hi >>s (GRLen-1)
2581 // if Shamt-GRLen < 0: // Shamt < GRLen
2582 // Lo = (Lo >>u Shamt) | ((Hi << 1) << (ShAmt ^ GRLen-1))
2585 // Lo = Hi >>u (Shamt-GRLen);
4678 // Pass a 2*GRLen argument that has been split into two GRLen values through
4680 static bool CC_LoongArchAssign2GRLen(unsigned GRLen, CCState &State,
4684 unsigned GRLenInBytes = GRLen / 8;
4721 unsigned GRLen = DL.getLargestLegalIntTypeSizeInBits();
4722 assert((GRLen == 32 || GRLen == 64) && "Unspport GRLen");
4723 MVT GRLenVT = GRLen == 32 ? MVT::i32 : MVT::i64;
4756 } else if (UseGPRForFloat && GRLen == 64 && ValVT == MVT::f64) {
4759 } else if (UseGPRForFloat && GRLen == 32 && ValVT == MVT::f64) {
4765 // that it is assigned an 'even' or 'aligned' register if it has (2*GRLen)/8
4769 // 2*GRLen, so the register alignment rule does not apply.
4770 unsigned TwoGRLenInBytes = (2 * GRLen) / 8;
4810 return CC_LoongArchAssign2GRLen(GRLen, State, VA, AF, ValNo, ValVT, LocVT,
4816 unsigned StoreSizeBytes = GRLen / 8;
4817 Align StackAlign = Align(GRLen / 8);
5141 // ensure that the frame pointer is 2*GRLen-aligned, which in turn ensures
5142 // offsets to even-numbered registered remain 2*GRLen-aligned.
5667 getIntrinsicForMaskedAtomicRMWBinOp(unsigned GRLen,
5669 if (GRLen == 64) {
5693 if (GRLen == 32) {
5709 llvm_unreachable("Unexpected GRLen\n");
5761 unsigned GRLen = Subtarget.getGRLen();
5763 Builder.getIntN(GRLen, static_cast<uint64_t>(AI->getOrdering()));
5767 getIntrinsicForMaskedAtomicRMWBinOp(GRLen, AI->getOperation()), Tys);
5769 if (GRLen == 64) {
5779 // bits to shift the value into position. Pass GRLen-ShiftAmt-ValWidth, which
5788 Builder.CreateSub(Builder.getIntN(GRLen, GRLen - ValWidth), ShiftAmt);
5796 if (GRLen == 64)
5892 // TODO: Support fixed vectors up to GRLen?
6021 // Omit the optimization if the data size exceeds GRLen.