Lines Matching full:hexagon

30 using namespace Hexagon;
32 #define DEBUG_TYPE "hexagon-mcduplex-info"
200 case Hexagon::L2_loadri_io: in getDuplexCandidateGroup()
207 Hexagon::R29 == SrcReg && inRange<5, 2>(MCI, 2)) { in getDuplexCandidateGroup()
217 case Hexagon::L2_loadrub_io: in getDuplexCandidateGroup()
237 case Hexagon::L2_loadrh_io: in getDuplexCandidateGroup()
238 case Hexagon::L2_loadruh_io: in getDuplexCandidateGroup()
248 case Hexagon::L2_loadrb_io: in getDuplexCandidateGroup()
258 case Hexagon::L2_loadrd_io: in getDuplexCandidateGroup()
263 HexagonMCInstrInfo::isIntReg(SrcReg) && Hexagon::R29 == SrcReg && in getDuplexCandidateGroup()
269 case Hexagon::L4_return: in getDuplexCandidateGroup()
270 case Hexagon::L2_deallocframe: in getDuplexCandidateGroup()
273 case Hexagon::EH_RETURN_JMPR: in getDuplexCandidateGroup()
274 case Hexagon::J2_jumpr: in getDuplexCandidateGroup()
275 case Hexagon::PS_jmpret: in getDuplexCandidateGroup()
279 if (Hexagon::R31 == DstReg) in getDuplexCandidateGroup()
283 case Hexagon::J2_jumprt: in getDuplexCandidateGroup()
284 case Hexagon::J2_jumprf: in getDuplexCandidateGroup()
285 case Hexagon::J2_jumprtnew: in getDuplexCandidateGroup()
286 case Hexagon::J2_jumprfnew: in getDuplexCandidateGroup()
287 case Hexagon::PS_jmprett: in getDuplexCandidateGroup()
288 case Hexagon::PS_jmpretf: in getDuplexCandidateGroup()
289 case Hexagon::PS_jmprettnew: in getDuplexCandidateGroup()
290 case Hexagon::PS_jmpretfnew: in getDuplexCandidateGroup()
291 case Hexagon::PS_jmprettnewpt: in getDuplexCandidateGroup()
292 case Hexagon::PS_jmpretfnewpt: in getDuplexCandidateGroup()
296 if ((Hexagon::P0 == SrcReg) && (Hexagon::R31 == DstReg)) { in getDuplexCandidateGroup()
300 case Hexagon::L4_return_t: in getDuplexCandidateGroup()
301 case Hexagon::L4_return_f: in getDuplexCandidateGroup()
302 case Hexagon::L4_return_tnew_pnt: in getDuplexCandidateGroup()
303 case Hexagon::L4_return_fnew_pnt: in getDuplexCandidateGroup()
306 if (Hexagon::P0 == SrcReg) { in getDuplexCandidateGroup()
315 case Hexagon::S2_storeri_io: in getDuplexCandidateGroup()
322 Hexagon::R29 == Src1Reg && inRange<5, 2>(MCI, 1)) { in getDuplexCandidateGroup()
332 case Hexagon::S2_storerb_io: in getDuplexCandidateGroup()
351 case Hexagon::S2_storerh_io: in getDuplexCandidateGroup()
361 case Hexagon::S2_storerd_io: in getDuplexCandidateGroup()
366 HexagonMCInstrInfo::isIntReg(Src1Reg) && Hexagon::R29 == Src1Reg && in getDuplexCandidateGroup()
371 case Hexagon::S4_storeiri_io: in getDuplexCandidateGroup()
379 case Hexagon::S4_storeirb_io: in getDuplexCandidateGroup()
387 case Hexagon::S2_allocframe: in getDuplexCandidateGroup()
409 case Hexagon::A2_addi: in getDuplexCandidateGroup()
414 if (HexagonMCInstrInfo::isIntReg(SrcReg) && Hexagon::R29 == SrcReg && in getDuplexCandidateGroup()
430 case Hexagon::A2_add: in getDuplexCandidateGroup()
440 case Hexagon::A2_andir: in getDuplexCandidateGroup()
449 case Hexagon::A2_tfr: in getDuplexCandidateGroup()
458 case Hexagon::A2_tfrsi: in getDuplexCandidateGroup()
465 case Hexagon::C2_cmoveit: in getDuplexCandidateGroup()
466 case Hexagon::C2_cmovenewit: in getDuplexCandidateGroup()
467 case Hexagon::C2_cmoveif: in getDuplexCandidateGroup()
468 case Hexagon::C2_cmovenewif: in getDuplexCandidateGroup()
475 Hexagon::P0 == PredReg && minConstant(MCI, 2) == 0) { in getDuplexCandidateGroup()
479 case Hexagon::C2_cmpeqi: in getDuplexCandidateGroup()
483 if (Hexagon::P0 == DstReg && in getDuplexCandidateGroup()
489 case Hexagon::A2_combineii: in getDuplexCandidateGroup()
490 case Hexagon::A4_combineii: in getDuplexCandidateGroup()
498 case Hexagon::A4_combineri: in getDuplexCandidateGroup()
508 case Hexagon::A4_combineir: in getDuplexCandidateGroup()
518 case Hexagon::A2_sxtb: in getDuplexCandidateGroup()
519 case Hexagon::A2_sxth: in getDuplexCandidateGroup()
520 case Hexagon::A2_zxtb: in getDuplexCandidateGroup()
521 case Hexagon::A2_zxth: in getDuplexCandidateGroup()
538 case Hexagon::A2_addi: in subInstWouldBeExtended()
550 case Hexagon::A2_tfrsi: in subInstWouldBeExtended()
583 if ((Opcode != Hexagon::A2_addi) && (Opcode != Hexagon::A2_tfrsi)) in isOrderedDuplexPair()
610 if (MIb.getOpcode() == Hexagon::S2_allocframe) in isOrderedDuplexPair()
629 (MIb.getOperand(1).getReg() == Hexagon::R31)) in isOrderedDuplexPair()
632 (MIb.getOperand(0).getReg() == Hexagon::R31)) in isOrderedDuplexPair()
664 case Hexagon::R0: in addOps()
665 case Hexagon::R1: in addOps()
666 case Hexagon::R2: in addOps()
667 case Hexagon::R3: in addOps()
668 case Hexagon::R4: in addOps()
669 case Hexagon::R5: in addOps()
670 case Hexagon::R6: in addOps()
671 case Hexagon::R7: in addOps()
672 case Hexagon::D0: in addOps()
673 case Hexagon::D1: in addOps()
674 case Hexagon::D2: in addOps()
675 case Hexagon::D3: in addOps()
676 case Hexagon::R16: in addOps()
677 case Hexagon::R17: in addOps()
678 case Hexagon::R18: in addOps()
679 case Hexagon::R19: in addOps()
680 case Hexagon::R20: in addOps()
681 case Hexagon::R21: in addOps()
682 case Hexagon::R22: in addOps()
683 case Hexagon::R23: in addOps()
684 case Hexagon::D8: in addOps()
685 case Hexagon::D9: in addOps()
686 case Hexagon::D10: in addOps()
687 case Hexagon::D11: in addOps()
688 case Hexagon::P0: in addOps()
706 case Hexagon::A2_addi: in deriveSubInst()
710 Result.setOpcode(Hexagon::SA1_inc); in deriveSubInst()
716 Result.setOpcode(Hexagon::SA1_dec); in deriveSubInst()
722 if (Inst.getOperand(1).getReg() == Hexagon::R29) { in deriveSubInst()
723 Result.setOpcode(Hexagon::SA1_addsp); in deriveSubInst()
729 Result.setOpcode(Hexagon::SA1_addi); in deriveSubInst()
734 case Hexagon::A2_add: in deriveSubInst()
735 Result.setOpcode(Hexagon::SA1_addrx); in deriveSubInst()
740 case Hexagon::S2_allocframe: in deriveSubInst()
741 Result.setOpcode(Hexagon::SS2_allocframe); in deriveSubInst()
744 case Hexagon::A2_andir: in deriveSubInst()
746 Result.setOpcode(Hexagon::SA1_zxtb); in deriveSubInst()
751 Result.setOpcode(Hexagon::SA1_and1); in deriveSubInst()
756 case Hexagon::C2_cmpeqi: in deriveSubInst()
757 Result.setOpcode(Hexagon::SA1_cmpeqi); in deriveSubInst()
761 case Hexagon::A4_combineii: in deriveSubInst()
762 case Hexagon::A2_combineii: in deriveSubInst()
766 Result.setOpcode(Hexagon::SA1_combine1i); in deriveSubInst()
772 Result.setOpcode(Hexagon::SA1_combine3i); in deriveSubInst()
778 Result.setOpcode(Hexagon::SA1_combine0i); in deriveSubInst()
784 Result.setOpcode(Hexagon::SA1_combine2i); in deriveSubInst()
790 case Hexagon::A4_combineir: in deriveSubInst()
791 Result.setOpcode(Hexagon::SA1_combinezr); in deriveSubInst()
795 case Hexagon::A4_combineri: in deriveSubInst()
796 Result.setOpcode(Hexagon::SA1_combinerz); in deriveSubInst()
800 case Hexagon::L4_return_tnew_pnt: in deriveSubInst()
801 case Hexagon::L4_return_tnew_pt: in deriveSubInst()
802 Result.setOpcode(Hexagon::SL2_return_tnew); in deriveSubInst()
804 case Hexagon::L4_return_fnew_pnt: in deriveSubInst()
805 case Hexagon::L4_return_fnew_pt: in deriveSubInst()
806 Result.setOpcode(Hexagon::SL2_return_fnew); in deriveSubInst()
808 case Hexagon::L4_return_f: in deriveSubInst()
809 Result.setOpcode(Hexagon::SL2_return_f); in deriveSubInst()
811 case Hexagon::L4_return_t: in deriveSubInst()
812 Result.setOpcode(Hexagon::SL2_return_t); in deriveSubInst()
814 case Hexagon::L4_return: in deriveSubInst()
815 Result.setOpcode(Hexagon::SL2_return); in deriveSubInst()
817 case Hexagon::L2_deallocframe: in deriveSubInst()
818 Result.setOpcode(Hexagon::SL2_deallocframe); in deriveSubInst()
820 case Hexagon::EH_RETURN_JMPR: in deriveSubInst()
821 case Hexagon::J2_jumpr: in deriveSubInst()
822 case Hexagon::PS_jmpret: in deriveSubInst()
823 Result.setOpcode(Hexagon::SL2_jumpr31); in deriveSubInst()
825 case Hexagon::J2_jumprf: in deriveSubInst()
826 case Hexagon::PS_jmpretf: in deriveSubInst()
827 Result.setOpcode(Hexagon::SL2_jumpr31_f); in deriveSubInst()
829 case Hexagon::J2_jumprfnew: in deriveSubInst()
830 case Hexagon::PS_jmpretfnewpt: in deriveSubInst()
831 case Hexagon::PS_jmpretfnew: in deriveSubInst()
832 Result.setOpcode(Hexagon::SL2_jumpr31_fnew); in deriveSubInst()
834 case Hexagon::J2_jumprt: in deriveSubInst()
835 case Hexagon::PS_jmprett: in deriveSubInst()
836 Result.setOpcode(Hexagon::SL2_jumpr31_t); in deriveSubInst()
838 case Hexagon::J2_jumprtnew: in deriveSubInst()
839 case Hexagon::PS_jmprettnewpt: in deriveSubInst()
840 case Hexagon::PS_jmprettnew: in deriveSubInst()
841 Result.setOpcode(Hexagon::SL2_jumpr31_tnew); in deriveSubInst()
843 case Hexagon::L2_loadrb_io: in deriveSubInst()
844 Result.setOpcode(Hexagon::SL2_loadrb_io); in deriveSubInst()
849 case Hexagon::L2_loadrd_io: in deriveSubInst()
850 Result.setOpcode(Hexagon::SL2_loadrd_sp); in deriveSubInst()
854 case Hexagon::L2_loadrh_io: in deriveSubInst()
855 Result.setOpcode(Hexagon::SL2_loadrh_io); in deriveSubInst()
860 case Hexagon::L2_loadrub_io: in deriveSubInst()
861 Result.setOpcode(Hexagon::SL1_loadrub_io); in deriveSubInst()
866 case Hexagon::L2_loadruh_io: in deriveSubInst()
867 Result.setOpcode(Hexagon::SL2_loadruh_io); in deriveSubInst()
872 case Hexagon::L2_loadri_io: in deriveSubInst()
873 if (Inst.getOperand(1).getReg() == Hexagon::R29) { in deriveSubInst()
874 Result.setOpcode(Hexagon::SL2_loadri_sp); in deriveSubInst()
879 Result.setOpcode(Hexagon::SL1_loadri_io); in deriveSubInst()
885 case Hexagon::S4_storeirb_io: in deriveSubInst()
889 Result.setOpcode(Hexagon::SS2_storebi0); in deriveSubInst()
894 Result.setOpcode(Hexagon::SS2_storebi1); in deriveSubInst()
900 case Hexagon::S2_storerb_io: in deriveSubInst()
901 Result.setOpcode(Hexagon::SS1_storeb_io); in deriveSubInst()
906 case Hexagon::S2_storerd_io: in deriveSubInst()
907 Result.setOpcode(Hexagon::SS2_stored_sp); in deriveSubInst()
911 case Hexagon::S2_storerh_io: in deriveSubInst()
912 Result.setOpcode(Hexagon::SS2_storeh_io); in deriveSubInst()
917 case Hexagon::S4_storeiri_io: in deriveSubInst()
921 Result.setOpcode(Hexagon::SS2_storewi0); in deriveSubInst()
926 Result.setOpcode(Hexagon::SS2_storewi1); in deriveSubInst()
930 } else if (Inst.getOperand(0).getReg() == Hexagon::R29) { in deriveSubInst()
931 Result.setOpcode(Hexagon::SS2_storew_sp); in deriveSubInst()
937 case Hexagon::S2_storeri_io: in deriveSubInst()
938 if (Inst.getOperand(0).getReg() == Hexagon::R29) { in deriveSubInst()
939 Result.setOpcode(Hexagon::SS2_storew_sp); in deriveSubInst()
943 Result.setOpcode(Hexagon::SS1_storew_io); in deriveSubInst()
949 case Hexagon::A2_sxtb: in deriveSubInst()
950 Result.setOpcode(Hexagon::SA1_sxtb); in deriveSubInst()
954 case Hexagon::A2_sxth: in deriveSubInst()
955 Result.setOpcode(Hexagon::SA1_sxth); in deriveSubInst()
959 case Hexagon::A2_tfr: in deriveSubInst()
960 Result.setOpcode(Hexagon::SA1_tfr); in deriveSubInst()
964 case Hexagon::C2_cmovenewif: in deriveSubInst()
965 Result.setOpcode(Hexagon::SA1_clrfnew); in deriveSubInst()
969 case Hexagon::C2_cmovenewit: in deriveSubInst()
970 Result.setOpcode(Hexagon::SA1_clrtnew); in deriveSubInst()
974 case Hexagon::C2_cmoveif: in deriveSubInst()
975 Result.setOpcode(Hexagon::SA1_clrf); in deriveSubInst()
979 case Hexagon::C2_cmoveit: in deriveSubInst()
980 Result.setOpcode(Hexagon::SA1_clrt); in deriveSubInst()
984 case Hexagon::A2_tfrsi: in deriveSubInst()
987 Result.setOpcode(Hexagon::SA1_setin1); in deriveSubInst()
992 Result.setOpcode(Hexagon::SA1_seti); in deriveSubInst()
997 case Hexagon::A2_zxtb: in deriveSubInst()
998 Result.setOpcode(Hexagon::SA1_zxtb); in deriveSubInst()
1003 case Hexagon::A2_zxth: in deriveSubInst()
1004 Result.setOpcode(Hexagon::SA1_zxth); in deriveSubInst()
1014 case Hexagon::S2_storeri_io: in isStoreInst()
1015 case Hexagon::S2_storerb_io: in isStoreInst()
1016 case Hexagon::S2_storerh_io: in isStoreInst()
1017 case Hexagon::S2_storerd_io: in isStoreInst()
1018 case Hexagon::S4_storeiri_io: in isStoreInst()
1019 case Hexagon::S4_storeirb_io: in isStoreInst()
1020 case Hexagon::S2_allocframe: in isStoreInst()