|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/Hexagon/HexagonBitTracker.cpp 215 return evaluateLoad(MI, Inputs, Outputs);
234 if (evaluateFormalCopy(MI, Inputs, Outputs))
266 auto cop = [this, &Reg, &MI, &Inputs](unsigned N,
274 return rc(N);
345 return rr0(rc(1), Outputs);
350 RegisterCell PC = eXTR(rc(1), 0, PW);
360 return rr0(eINS(RC, eXTR(rc(1), 0, PW), 0), Outputs);
373 RegisterCell CW = RegisterCell(W0).insert(rc(1), BT::BitMask(0, W1-1));
374 RegisterCell RC = eADD(eSXT(CW, W1), rc(2));
379 return rr0(eADD(rc(1), rc(2)), Outputs);
379 return rr0(eADD(rc(1), rc(2)), Outputs);
381 return rr0(eADD(rc(1), eIMM(im(2), W0)), Outputs);
383 RegisterCell RC = eADD(eIMM(im(1), W0), eASL(rc(2), im(3)));
387 RegisterCell RC = eADD(eIMM(im(1), W0), eLSR(rc(2), im(3)));
391 RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0)));
391 RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0)));
395 RegisterCell M = eMLS(rc(2), eIMM(im(3), W0));
400 RegisterCell M = eMLS(rc(2), rc(3));
400 RegisterCell M = eMLS(rc(2), rc(3));
405 RegisterCell M = eMLS(eIMM(im(2), W0), rc(3));
406 RegisterCell RC = eADD(rc(1), lo(M, W0));
410 RegisterCell M = eMLS(rc(2), eIMM(im(3), W0));
411 RegisterCell RC = eADD(rc(1), lo(M, W0));
415 RegisterCell M = eMLS(rc(2), rc(3));
415 RegisterCell M = eMLS(rc(2), rc(3));
416 RegisterCell RC = eADD(rc(1), lo(M, W0));
420 RegisterCell RC = eADD(rc(1), eSUB(eIMM(im(2), W0), rc(3)));
420 RegisterCell RC = eADD(rc(1), eSUB(eIMM(im(2), W0), rc(3)));
424 RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0)));
424 RegisterCell RC = eADD(rc(1), eADD(rc(2), eIMM(im(3), W0)));
428 RegisterCell RC = eADD(rc(1), eADD(rc(2), rc(3)));
428 RegisterCell RC = eADD(rc(1), eADD(rc(2), rc(3)));
428 RegisterCell RC = eADD(rc(1), eADD(rc(2), rc(3)));
432 RegisterCell RC = eADD(rc(1), eSUB(rc(2), rc(3)));
432 RegisterCell RC = eADD(rc(1), eSUB(rc(2), rc(3)));
432 RegisterCell RC = eADD(rc(1), eSUB(rc(2), rc(3)));
436 RegisterCell RC = eADD(rc(1), eASL(rc(2), im(3)));
436 RegisterCell RC = eADD(rc(1), eASL(rc(2), im(3)));
446 return rr0(eSUB(rc(1), rc(2)), Outputs);
446 return rr0(eSUB(rc(1), rc(2)), Outputs);
448 return rr0(eSUB(eIMM(im(1), W0), rc(2)), Outputs);
450 RegisterCell RC = eSUB(eIMM(im(1), W0), eASL(rc(2), im(3)));
454 RegisterCell RC = eSUB(eIMM(im(1), W0), eLSR(rc(2), im(3)));
458 RegisterCell RC = eSUB(rc(1), eADD(rc(2), eIMM(im(3), W0)));
458 RegisterCell RC = eSUB(rc(1), eADD(rc(2), eIMM(im(3), W0)));
462 RegisterCell RC = eSUB(rc(1), eADD(rc(2), rc(3)));
462 RegisterCell RC = eSUB(rc(1), eADD(rc(2), rc(3)));
462 RegisterCell RC = eSUB(rc(1), eADD(rc(2), rc(3)));
467 return rr0(eSUB(eIMM(0, W0), rc(1)), Outputs);
470 RegisterCell M = eMLS(rc(1), rc(2));
470 RegisterCell M = eMLS(rc(1), rc(2));
474 return rr0(eMLS(rc(1), rc(2)), Outputs);
474 return rr0(eMLS(rc(1), rc(2)), Outputs);
476 return rr0(eADD(rc(1), eMLS(rc(2), rc(3))), Outputs);
476 return rr0(eADD(rc(1), eMLS(rc(2), rc(3))), Outputs);
476 return rr0(eADD(rc(1), eMLS(rc(2), rc(3))), Outputs);
478 return rr0(eSUB(rc(1), eMLS(rc(2), rc(3))), Outputs);
478 return rr0(eSUB(rc(1), eMLS(rc(2), rc(3))), Outputs);
478 return rr0(eSUB(rc(1), eMLS(rc(2), rc(3))), Outputs);
480 RegisterCell M = eMLS(rc(1), rc(2));
480 RegisterCell M = eMLS(rc(1), rc(2));
484 RegisterCell M = eMLS(rc(2), eIMM(im(3), W0));
485 RegisterCell RC = eADD(rc(1), lo(M, W0));
489 RegisterCell M = eMLS(rc(2), eIMM(im(3), W0));
490 RegisterCell RC = eSUB(rc(1), lo(M, W0));
494 RegisterCell M = eMLS(rc(2), rc(3));
494 RegisterCell M = eMLS(rc(2), rc(3));
495 RegisterCell RC = eADD(rc(1), lo(M, W0));
499 RegisterCell M = eMLS(rc(1), eIMM(im(2), W0));
503 RegisterCell M = eMLS(rc(1), eIMM(-im(2), W0));
507 RegisterCell M = eMLS(rc(1), eIMM(im(2), W0));
511 RegisterCell M = eMLU(rc(1), rc(2));
511 RegisterCell M = eMLU(rc(1), rc(2));
515 return rr0(eMLU(rc(1), rc(2)), Outputs);
515 return rr0(eMLU(rc(1), rc(2)), Outputs);
517 return rr0(eADD(rc(1), eMLU(rc(2), rc(3))), Outputs);
517 return rr0(eADD(rc(1), eMLU(rc(2), rc(3))), Outputs);
517 return rr0(eADD(rc(1), eMLU(rc(2), rc(3))), Outputs);
519 return rr0(eSUB(rc(1), eMLU(rc(2), rc(3))), Outputs);
519 return rr0(eSUB(rc(1), eMLU(rc(2), rc(3))), Outputs);
519 return rr0(eSUB(rc(1), eMLU(rc(2), rc(3))), Outputs);
525 return rr0(eAND(rc(1), eIMM(im(2), W0)), Outputs);
528 return rr0(eAND(rc(1), rc(2)), Outputs);
528 return rr0(eAND(rc(1), rc(2)), Outputs);
531 return rr0(eAND(rc(1), eNOT(rc(2))), Outputs);
531 return rr0(eAND(rc(1), eNOT(rc(2))), Outputs);
533 RegisterCell RC = eAND(eIMM(im(1), W0), eASL(rc(2), im(3)));
537 RegisterCell RC = eAND(eIMM(im(1), W0), eLSR(rc(2), im(3)));
541 return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
541 return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
541 return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
543 return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
543 return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
543 return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
545 return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
545 return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
545 return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
547 return rr0(eAND(rc(1), eXOR(rc(2), rc(3))), Outputs);
547 return rr0(eAND(rc(1), eXOR(rc(2), rc(3))), Outputs);
547 return rr0(eAND(rc(1), eXOR(rc(2), rc(3))), Outputs);
549 return rr0(eORL(rc(1), eIMM(im(2), W0)), Outputs);
552 return rr0(eORL(rc(1), rc(2)), Outputs);
552 return rr0(eORL(rc(1), rc(2)), Outputs);
555 return rr0(eORL(rc(1), eNOT(rc(2))), Outputs);
555 return rr0(eORL(rc(1), eNOT(rc(2))), Outputs);
557 RegisterCell RC = eORL(eIMM(im(1), W0), eASL(rc(2), im(3)));
561 RegisterCell RC = eORL(eIMM(im(1), W0), eLSR(rc(2), im(3)));
565 return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
565 return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
565 return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
567 return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
567 return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
567 return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
570 RegisterCell RC = eORL(rc(1), eAND(rc(2), eIMM(im(3), W0)));
570 RegisterCell RC = eORL(rc(1), eAND(rc(2), eIMM(im(3), W0)));
574 RegisterCell RC = eORL(rc(1), eORL(rc(2), eIMM(im(3), W0)));
574 RegisterCell RC = eORL(rc(1), eORL(rc(2), eIMM(im(3), W0)));
578 return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
578 return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
578 return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
580 return rr0(eORL(rc(1), eXOR(rc(2), rc(3))), Outputs);
580 return rr0(eORL(rc(1), eXOR(rc(2), rc(3))), Outputs);
580 return rr0(eORL(rc(1), eXOR(rc(2), rc(3))), Outputs);
583 return rr0(eXOR(rc(1), rc(2)), Outputs);
583 return rr0(eXOR(rc(1), rc(2)), Outputs);
585 return rr0(eXOR(rc(1), eAND(rc(2), rc(3))), Outputs);
585 return rr0(eXOR(rc(1), eAND(rc(2), rc(3))), Outputs);
585 return rr0(eXOR(rc(1), eAND(rc(2), rc(3))), Outputs);
587 return rr0(eXOR(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
587 return rr0(eXOR(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
587 return rr0(eXOR(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
589 return rr0(eXOR(rc(1), eORL(rc(2), rc(3))), Outputs);
589 return rr0(eXOR(rc(1), eORL(rc(2), rc(3))), Outputs);
589 return rr0(eXOR(rc(1), eORL(rc(2), rc(3))), Outputs);
591 return rr0(eXOR(rc(1), eXOR(rc(2), rc(3))), Outputs);
591 return rr0(eXOR(rc(1), eXOR(rc(2), rc(3))), Outputs);
591 return rr0(eXOR(rc(1), eXOR(rc(2), rc(3))), Outputs);
594 return rr0(eNOT(rc(1)), Outputs);
598 return rr0(eASL(rc(1), im(2)), Outputs);
600 return rr0(eASL(rc(1), 16), Outputs);
603 return rr0(eADD(rc(1), eASL(rc(2), im(3))), Outputs);
603 return rr0(eADD(rc(1), eASL(rc(2), im(3))), Outputs);
606 return rr0(eSUB(rc(1), eASL(rc(2), im(3))), Outputs);
606 return rr0(eSUB(rc(1), eASL(rc(2), im(3))), Outputs);
609 return rr0(eAND(rc(1), eASL(rc(2), im(3))), Outputs);
609 return rr0(eAND(rc(1), eASL(rc(2), im(3))), Outputs);
612 return rr0(eORL(rc(1), eASL(rc(2), im(3))), Outputs);
612 return rr0(eORL(rc(1), eASL(rc(2), im(3))), Outputs);
615 return rr0(eXOR(rc(1), eASL(rc(2), im(3))), Outputs);
615 return rr0(eXOR(rc(1), eASL(rc(2), im(3))), Outputs);
623 return rr0(eASR(rc(1), im(2)), Outputs);
625 return rr0(eASR(rc(1), 16), Outputs);
628 return rr0(eADD(rc(1), eASR(rc(2), im(3))), Outputs);
628 return rr0(eADD(rc(1), eASR(rc(2), im(3))), Outputs);
631 return rr0(eSUB(rc(1), eASR(rc(2), im(3))), Outputs);
631 return rr0(eSUB(rc(1), eASR(rc(2), im(3))), Outputs);
634 return rr0(eAND(rc(1), eASR(rc(2), im(3))), Outputs);
634 return rr0(eAND(rc(1), eASR(rc(2), im(3))), Outputs);
637 return rr0(eORL(rc(1), eASR(rc(2), im(3))), Outputs);
637 return rr0(eORL(rc(1), eASR(rc(2), im(3))), Outputs);
642 RegisterCell XC = eSXT(rc(1).cat(eIMM(0, W0)), W0);
649 return rr0(rc(1), Outputs);
651 RegisterCell XC = eSXT(rc(1).cat(eIMM(0, W0)), W0);
663 return rr0(eLSR(rc(1), im(2)), Outputs);
666 return rr0(eADD(rc(1), eLSR(rc(2), im(3))), Outputs);
666 return rr0(eADD(rc(1), eLSR(rc(2), im(3))), Outputs);
669 return rr0(eSUB(rc(1), eLSR(rc(2), im(3))), Outputs);
669 return rr0(eSUB(rc(1), eLSR(rc(2), im(3))), Outputs);
672 return rr0(eAND(rc(1), eLSR(rc(2), im(3))), Outputs);
672 return rr0(eAND(rc(1), eLSR(rc(2), im(3))), Outputs);
675 return rr0(eORL(rc(1), eLSR(rc(2), im(3))), Outputs);
675 return rr0(eORL(rc(1), eLSR(rc(2), im(3))), Outputs);
678 return rr0(eXOR(rc(1), eLSR(rc(2), im(3))), Outputs);
678 return rr0(eXOR(rc(1), eLSR(rc(2), im(3))), Outputs);
681 RegisterCell RC = rc(1);
686 RegisterCell RC = rc(1);
691 RegisterCell RC = rc(1);
706 RegisterCell BF1 = eXTR(rc(1), 0, BX), BF2 = eXTR(rc(1), BX, W1);
706 RegisterCell BF1 = eXTR(rc(1), 0, BX), BF2 = eXTR(rc(1), BX, W1);
720 RegisterCell Pad = (Wd+Of > W0) ? rc(1).cat(eIMM(0, Wd+Of-W0)) : rc(1);
720 RegisterCell Pad = (Wd+Of > W0) ? rc(1).cat(eIMM(0, Wd+Of-W0)) : rc(1);
736 return rr0(rc(1), Outputs);
737 return rr0(eINS(rc(1), eXTR(rc(2), 0, Wd), Of), Outputs);
737 return rr0(eINS(rc(1), eXTR(rc(2), 0, Wd), Of), Outputs);
760 RegisterCell R1 = rc(1);
761 RegisterCell R2 = rc(2);
768 RegisterCell R1 = rc(1);
769 RegisterCell R2 = rc(2);
775 RegisterCell RC = shuffle(rc(1), rc(2), 8, false);
775 RegisterCell RC = shuffle(rc(1), rc(2), 8, false);
779 RegisterCell RC = shuffle(rc(1), rc(2), 16, false);
779 RegisterCell RC = shuffle(rc(1), rc(2), 16, false);
783 RegisterCell RC = shuffle(rc(1), rc(2), 8, true);
783 RegisterCell RC = shuffle(rc(1), rc(2), 8, true);
787 RegisterCell RC = shuffle(rc(1), rc(2), 16, true);
787 RegisterCell RC = shuffle(rc(1), rc(2), 16, true);
794 RegisterCell R1 = rc(1);
810 BT::BitValue PC0 = rc(1)[0];
825 return rr0(eSXT(rc(1), 8), Outputs);
827 return rr0(eSXT(rc(1), 16), Outputs);
831 RegisterCell RC = eSXT(rc(1).cat(eIMM(0, W1)), W1);
835 return rr0(eZXT(rc(1), 8), Outputs);
837 return rr0(eZXT(rc(1), 16), Outputs);
855 return rr0(eCLB(rc(1), false/*bit*/, 32), Outputs);
858 return rr0(eCLB(rc(1), true/*bit*/, 32), Outputs);
862 RegisterCell R1 = rc(1);
870 return rr0(eCTB(rc(1), false/*bit*/, 32), Outputs);
873 return rr0(eCTB(rc(1), true/*bit*/, 32), Outputs);
879 RegisterCell P1 = rc(1);
896 RegisterCell P1 = rc(1);
913 return rr0(eAND(rc(1), rc(2)), Outputs);
913 return rr0(eAND(rc(1), rc(2)), Outputs);
915 return rr0(eAND(rc(1), eNOT(rc(2))), Outputs);
915 return rr0(eAND(rc(1), eNOT(rc(2))), Outputs);
917 return rr0(eNOT(rc(1)), Outputs);
919 return rr0(eORL(rc(1), rc(2)), Outputs);
919 return rr0(eORL(rc(1), rc(2)), Outputs);
921 return rr0(eORL(rc(1), eNOT(rc(2))), Outputs);
921 return rr0(eORL(rc(1), eNOT(rc(2))), Outputs);
923 return rr0(eXOR(rc(1), rc(2)), Outputs);
923 return rr0(eXOR(rc(1), rc(2)), Outputs);
925 return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
925 return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
925 return rr0(eAND(rc(1), eAND(rc(2), rc(3))), Outputs);
927 return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
927 return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
927 return rr0(eAND(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
929 return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
929 return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
929 return rr0(eAND(rc(1), eORL(rc(2), rc(3))), Outputs);
931 return rr0(eAND(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
931 return rr0(eAND(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
931 return rr0(eAND(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
933 return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
933 return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
933 return rr0(eORL(rc(1), eAND(rc(2), rc(3))), Outputs);
935 return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
935 return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
935 return rr0(eORL(rc(1), eAND(rc(2), eNOT(rc(3)))), Outputs);
937 return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
937 return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
937 return rr0(eORL(rc(1), eORL(rc(2), rc(3))), Outputs);
939 return rr0(eORL(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
939 return rr0(eORL(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
939 return rr0(eORL(rc(1), eORL(rc(2), eNOT(rc(3)))), Outputs);
950 BT::BitValue V = rc(1)[im(2)];
974 return MachineEvaluator::evaluate(MI, Inputs, Outputs);