Lines Matching refs:RC
92 const TargetRegisterClass &RC = *MRI.getRegClass(Reg); in mask() local
93 unsigned ID = RC.getID(); in mask()
96 bool IsSubLo = (Sub == HRI.getHexagonSubRegIndex(RC, Hexagon::ps_sub_lo)); in mask()
108 << TRI.getRegClassName(&RC) << '\n'; in mask()
117 for (auto &RC : {HvxVRRegClass, HvxWRRegClass, HvxQRRegClass, in getPhysRegBitWidth()
119 if (RC.contains(Reg)) in getPhysRegBitWidth()
120 return TRI.getRegSizeInBits(RC); in getPhysRegBitWidth()
123 if (const TargetRegisterClass *RC = TRI.getMinimalPhysRegClass(Reg)) in getPhysRegBitWidth() local
124 return TRI.getRegSizeInBits(*RC); in getPhysRegBitWidth()
131 const TargetRegisterClass &RC, unsigned Idx) const { in composeWithSubRegIndex() argument
133 return RC; in composeWithSubRegIndex()
137 bool IsSubLo = (Idx == HRI.getHexagonSubRegIndex(RC, Hexagon::ps_sub_lo)); in composeWithSubRegIndex()
138 bool IsSubHi = (Idx == HRI.getHexagonSubRegIndex(RC, Hexagon::ps_sub_hi)); in composeWithSubRegIndex()
142 switch (RC.getID()) { in composeWithSubRegIndex()
153 dbgs() << "Reg class id: " << RC.getID() << " idx: " << Idx << '\n'; in composeWithSubRegIndex()
275 auto lo = [this] (const BT::RegisterCell &RC, uint16_t RW) in evaluate()
277 assert(RW <= RC.width()); in evaluate()
278 return eXTR(RC, 0, RW); in evaluate()
281 auto hi = [this] (const BT::RegisterCell &RC, uint16_t RW) in evaluate() argument
283 uint16_t W = RC.width(); in evaluate()
285 return eXTR(RC, W-RW, W); in evaluate()
288 auto half = [this] (const BT::RegisterCell &RC, unsigned N) in evaluate() argument
290 assert(N*16+16 <= RC.width()); in evaluate()
291 return eXTR(RC, N*16, N*16+16); in evaluate()
298 RegisterCell RC = eXTR(Rt, I*BW, I*BW+BW).cat(eXTR(Rs, I*BW, I*BW+BW)); in evaluate() local
301 RC.cat(eXTR(Rt, I*BW, I*BW+BW)).cat(eXTR(Rs, I*BW, I*BW+BW)); in evaluate()
304 return RC; in evaluate()
333 RegisterCell RC = RegisterCell::self(Reg[0].Reg, W0); in evaluate() local
334 RC.fill(0, L, BT::BitValue::Zero); in evaluate()
335 return rr0(RC, Outputs); in evaluate()
349 RegisterCell RC = RegisterCell(RW).insert(PC, BT::BitMask(0, PW-1)); in evaluate() local
350 RC.fill(PW, RW, BT::BitValue::Zero); in evaluate()
351 return rr0(RC, Outputs); in evaluate()
356 RegisterCell RC = RegisterCell::self(Reg[0].Reg, RW); in evaluate() local
357 RC.fill(PW, RW, BT::BitValue::Zero); in evaluate()
358 return rr0(eINS(RC, eXTR(rc(1), 0, PW), 0), Outputs); in evaluate()
372 RegisterCell RC = eADD(eSXT(CW, W1), rc(2)); in evaluate() local
373 return rr0(RC, Outputs); in evaluate()
381 RegisterCell RC = eADD(eIMM(im(1), W0), eASL(rc(2), im(3))); in evaluate() local
382 return rr0(RC, Outputs); in evaluate()
385 RegisterCell RC = eADD(eIMM(im(1), W0), eLSR(rc(2), im(3))); in evaluate() local
386 return rr0(RC, Outputs); in evaluate()
389 RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0))); in evaluate() local
390 return rr0(RC, Outputs); in evaluate()
394 RegisterCell RC = eADD(eIMM(im(1), W0), lo(M, W0)); in evaluate() local
395 return rr0(RC, Outputs); in evaluate()
399 RegisterCell RC = eADD(eIMM(im(1), W0), lo(M, W0)); in evaluate() local
400 return rr0(RC, Outputs); in evaluate()
404 RegisterCell RC = eADD(rc(1), lo(M, W0)); in evaluate() local
405 return rr0(RC, Outputs); in evaluate()
409 RegisterCell RC = eADD(rc(1), lo(M, W0)); in evaluate() local
410 return rr0(RC, Outputs); in evaluate()
414 RegisterCell RC = eADD(rc(1), lo(M, W0)); in evaluate() local
415 return rr0(RC, Outputs); in evaluate()
418 RegisterCell RC = eADD(rc(1), eSUB(eIMM(im(2), W0), rc(3))); in evaluate() local
419 return rr0(RC, Outputs); in evaluate()
422 RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0))); in evaluate() local
423 return rr0(RC, Outputs); in evaluate()
426 RegisterCell RC = eADD(rc(1), eADD(rc(2), rc(3))); in evaluate() local
427 return rr0(RC, Outputs); in evaluate()
430 RegisterCell RC = eADD(rc(1), eSUB(rc(2), rc(3))); in evaluate() local
431 return rr0(RC, Outputs); in evaluate()
434 RegisterCell RC = eADD(rc(1), eASL(rc(2), im(3))); in evaluate() local
435 return rr0(RC, Outputs); in evaluate()
448 RegisterCell RC = eSUB(eIMM(im(1), W0), eASL(rc(2), im(3))); in evaluate() local
449 return rr0(RC, Outputs); in evaluate()
452 RegisterCell RC = eSUB(eIMM(im(1), W0), eLSR(rc(2), im(3))); in evaluate() local
453 return rr0(RC, Outputs); in evaluate()
456 RegisterCell RC = eSUB(rc(1), eADD(rc(2), eIMM(im(3), W0))); in evaluate() local
457 return rr0(RC, Outputs); in evaluate()
460 RegisterCell RC = eSUB(rc(1), eADD(rc(2), rc(3))); in evaluate() local
461 return rr0(RC, Outputs); in evaluate()
483 RegisterCell RC = eADD(rc(1), lo(M, W0)); in evaluate() local
484 return rr0(RC, Outputs); in evaluate()
488 RegisterCell RC = eSUB(rc(1), lo(M, W0)); in evaluate() local
489 return rr0(RC, Outputs); in evaluate()
493 RegisterCell RC = eADD(rc(1), lo(M, W0)); in evaluate() local
494 return rr0(RC, Outputs); in evaluate()
531 RegisterCell RC = eAND(eIMM(im(1), W0), eASL(rc(2), im(3))); in evaluate() local
532 return rr0(RC, Outputs); in evaluate()
535 RegisterCell RC = eAND(eIMM(im(1), W0), eLSR(rc(2), im(3))); in evaluate() local
536 return rr0(RC, Outputs); in evaluate()
555 RegisterCell RC = eORL(eIMM(im(1), W0), eASL(rc(2), im(3))); in evaluate() local
556 return rr0(RC, Outputs); in evaluate()
559 RegisterCell RC = eORL(eIMM(im(1), W0), eLSR(rc(2), im(3))); in evaluate() local
560 return rr0(RC, Outputs); in evaluate()
568 RegisterCell RC = eORL(rc(1), eAND(rc(2), eIMM(im(3), W0))); in evaluate() local
569 return rr0(RC, Outputs); in evaluate()
572 RegisterCell RC = eORL(rc(1), eORL(rc(2), eIMM(im(3), W0))); in evaluate() local
573 return rr0(RC, Outputs); in evaluate()
641 RegisterCell RC = eASR(eADD(eASR(XC, im(2)), eIMM(1, 2*W0)), 1); in evaluate() local
642 return rr0(eXTR(RC, 0, W0), Outputs); in evaluate()
650 RegisterCell RC = eLSR(eADD(eASR(XC, S-1), eIMM(1, 2*W0)), 1); in evaluate() local
651 return rr0(eXTR(RC, 0, W0), Outputs); in evaluate()
679 RegisterCell RC = rc(1); in evaluate() local
680 RC[im(2)] = BT::BitValue::Zero; in evaluate()
681 return rr0(RC, Outputs); in evaluate()
684 RegisterCell RC = rc(1); in evaluate() local
685 RC[im(2)] = BT::BitValue::One; in evaluate()
686 return rr0(RC, Outputs); in evaluate()
689 RegisterCell RC = rc(1); in evaluate() local
691 RC[BX] = RC[BX].is(0) ? BT::BitValue::One in evaluate()
692 : RC[BX].is(1) ? BT::BitValue::Zero in evaluate()
694 return rr0(RC, Outputs); in evaluate()
705 RegisterCell RC = eINS(eINS(RZ, BF1, 0), BF2, W1); in evaluate() local
706 return rr0(RC, Outputs); in evaluate()
721 RegisterCell RC = RegisterCell(W0).insert(Ext, BT::BitMask(0, Wd-1)); in evaluate() local
723 return rr0(eZXT(RC, Wd), Outputs); in evaluate()
724 return rr0(eSXT(RC, Wd), Outputs); in evaluate()
760 RegisterCell RC = half(R2, LoH).cat(half(R1, HiH)); in evaluate() local
761 return rr0(RC, Outputs); in evaluate()
768 RegisterCell RC = half(R2, 0).cat(half(R1, 0)).cat(half(R2, 1)) in evaluate() local
770 return rr0(RC, Outputs); in evaluate()
773 RegisterCell RC = shuffle(rc(1), rc(2), 8, false); in evaluate() local
774 return rr0(RC, Outputs); in evaluate()
777 RegisterCell RC = shuffle(rc(1), rc(2), 16, false); in evaluate() local
778 return rr0(RC, Outputs); in evaluate()
781 RegisterCell RC = shuffle(rc(1), rc(2), 8, true); in evaluate() local
782 return rr0(RC, Outputs); in evaluate()
785 RegisterCell RC = shuffle(rc(1), rc(2), 16, true); in evaluate() local
786 return rr0(RC, Outputs); in evaluate()
793 RegisterCell RC(WR); in evaluate() local
797 RC.fill(i*8, i*8+8, F); in evaluate()
799 return rr0(RC, Outputs); in evaluate()
829 RegisterCell RC = eSXT(rc(1).cat(eIMM(0, W1)), W1); in evaluate() local
830 return rr0(RC, Outputs); in evaluate()
889 RegisterCell RC(W0); in evaluate() local
890 RC.fill(0, W0, (All1 ? BT::BitValue::One : BT::BitValue::Zero)); in evaluate()
891 return rr0(RC, Outputs); in evaluate()
906 RegisterCell RC(W0); in evaluate() local
907 RC.fill(0, W0, (Has1 ? BT::BitValue::One : BT::BitValue::Zero)); in evaluate()
908 return rr0(RC, Outputs); in evaluate()
966 RegisterCell RC = RegisterCell::self(DefR, RW); in evaluate() local
967 RC.fill(PW, RW, BT::BitValue::Zero); in evaluate()
968 putCell(PD, RC, Outputs); in evaluate()