Lines Matching full:aarch64
1 //===- AArch64Disassembler.cpp - Disassembler for AArch64 -----------------===//
34 #define DEBUG_TYPE "aarch64-disassembler"
256 case AArch64::MPRRegClassID: in getInstruction()
257 MI.insert(MI.begin() + i, MCOperand::createReg(AArch64::ZA)); in getInstruction()
259 case AArch64::MPR8RegClassID: in getInstruction()
260 MI.insert(MI.begin() + i, MCOperand::createReg(AArch64::ZAB0)); in getInstruction()
262 case AArch64::ZTRRegClassID: in getInstruction()
263 MI.insert(MI.begin() + i, MCOperand::createReg(AArch64::ZT0)); in getInstruction()
267 AArch64::OPERAND_IMPLICIT_IMM_0) { in getInstruction()
272 if (MI.getOpcode() == AArch64::LDR_ZA || in getInstruction()
273 MI.getOpcode() == AArch64::STR_ZA) { in getInstruction()
291 // AArch64 instructions are always 4 bytes wide, so there's no point in suggestBytesToSkip()
352 AArch64MCRegisterClasses[AArch64::GPR64x8ClassRegClassID].getRegister( in DecodeGPR64x8ClassRegisterClass()
364 AArch64MCRegisterClasses[AArch64::ZPR2RegClassID].getRegister(RegNo * 2); in DecodeZPR2Mul2RegisterClass()
375 AArch64MCRegisterClasses[AArch64::ZPR4RegClassID].getRegister(RegNo * 4); in DecodeZPR4Mul4RegisterClass()
391 {AArch64::ZAB0},
392 {AArch64::ZAH0, AArch64::ZAH1},
393 {AArch64::ZAS0, AArch64::ZAS1, AArch64::ZAS2, AArch64::ZAS3},
394 {AArch64::ZAD0, AArch64::ZAD1, AArch64::ZAD2, AArch64::ZAD3, AArch64::ZAD4,
395 AArch64::ZAD5, AArch64::ZAD6, AArch64::ZAD7},
396 {AArch64::ZAQ0, AArch64::ZAQ1, AArch64::ZAQ2, AArch64::ZAQ3, AArch64::ZAQ4,
397 AArch64::ZAQ5, AArch64::ZAQ6, AArch64::ZAQ7, AArch64::ZAQ8, AArch64::ZAQ9,
398 AArch64::ZAQ10, AArch64::ZAQ11, AArch64::ZAQ12, AArch64::ZAQ13,
399 AArch64::ZAQ14, AArch64::ZAQ15}};
419 AArch64MCRegisterClasses[AArch64::PPR2RegClassID].getRegister(RegNo * 2); in DecodePPR2Mul2RegisterClass()
465 Inst, ImmVal * 4, Addr, Inst.getOpcode() != AArch64::LDRXl, 0, 0, 4)) in DecodePCRelLabel19()
506 DecodeSimpleRegisterClass<AArch64::FPR128RegClassID, 0, 32>( in DecodeFMOVLaneInstruction()
508 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>( in DecodeFMOVLaneInstruction()
511 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>( in DecodeFMOVLaneInstruction()
513 DecodeSimpleRegisterClass<AArch64::FPR128RegClassID, 0, 32>( in DecodeFMOVLaneInstruction()
613 case AArch64::ADDWrs: in DecodeThreeAddrSRegInstruction()
614 case AArch64::ADDSWrs: in DecodeThreeAddrSRegInstruction()
615 case AArch64::SUBWrs: in DecodeThreeAddrSRegInstruction()
616 case AArch64::SUBSWrs: in DecodeThreeAddrSRegInstruction()
621 case AArch64::ANDWrs: in DecodeThreeAddrSRegInstruction()
622 case AArch64::ANDSWrs: in DecodeThreeAddrSRegInstruction()
623 case AArch64::BICWrs: in DecodeThreeAddrSRegInstruction()
624 case AArch64::BICSWrs: in DecodeThreeAddrSRegInstruction()
625 case AArch64::ORRWrs: in DecodeThreeAddrSRegInstruction()
626 case AArch64::ORNWrs: in DecodeThreeAddrSRegInstruction()
627 case AArch64::EORWrs: in DecodeThreeAddrSRegInstruction()
628 case AArch64::EONWrs: { in DecodeThreeAddrSRegInstruction()
632 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeThreeAddrSRegInstruction()
634 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rn, Addr, in DecodeThreeAddrSRegInstruction()
636 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rm, Addr, in DecodeThreeAddrSRegInstruction()
640 case AArch64::ADDXrs: in DecodeThreeAddrSRegInstruction()
641 case AArch64::ADDSXrs: in DecodeThreeAddrSRegInstruction()
642 case AArch64::SUBXrs: in DecodeThreeAddrSRegInstruction()
643 case AArch64::SUBSXrs: in DecodeThreeAddrSRegInstruction()
648 case AArch64::ANDXrs: in DecodeThreeAddrSRegInstruction()
649 case AArch64::ANDSXrs: in DecodeThreeAddrSRegInstruction()
650 case AArch64::BICXrs: in DecodeThreeAddrSRegInstruction()
651 case AArch64::BICSXrs: in DecodeThreeAddrSRegInstruction()
652 case AArch64::ORRXrs: in DecodeThreeAddrSRegInstruction()
653 case AArch64::ORNXrs: in DecodeThreeAddrSRegInstruction()
654 case AArch64::EORXrs: in DecodeThreeAddrSRegInstruction()
655 case AArch64::EONXrs: in DecodeThreeAddrSRegInstruction()
656 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeThreeAddrSRegInstruction()
658 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rn, Addr, in DecodeThreeAddrSRegInstruction()
660 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rm, Addr, in DecodeThreeAddrSRegInstruction()
679 case AArch64::MOVZWi: in DecodeMoveImmInstruction()
680 case AArch64::MOVNWi: in DecodeMoveImmInstruction()
681 case AArch64::MOVKWi: in DecodeMoveImmInstruction()
684 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeMoveImmInstruction()
687 case AArch64::MOVZXi: in DecodeMoveImmInstruction()
688 case AArch64::MOVNXi: in DecodeMoveImmInstruction()
689 case AArch64::MOVKXi: in DecodeMoveImmInstruction()
690 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeMoveImmInstruction()
695 if (Inst.getOpcode() == AArch64::MOVKWi || in DecodeMoveImmInstruction()
696 Inst.getOpcode() == AArch64::MOVKXi) in DecodeMoveImmInstruction()
714 case AArch64::PRFMui: in DecodeUnsignedLdStInstruction()
718 case AArch64::STRBBui: in DecodeUnsignedLdStInstruction()
719 case AArch64::LDRBBui: in DecodeUnsignedLdStInstruction()
720 case AArch64::LDRSBWui: in DecodeUnsignedLdStInstruction()
721 case AArch64::STRHHui: in DecodeUnsignedLdStInstruction()
722 case AArch64::LDRHHui: in DecodeUnsignedLdStInstruction()
723 case AArch64::LDRSHWui: in DecodeUnsignedLdStInstruction()
724 case AArch64::STRWui: in DecodeUnsignedLdStInstruction()
725 case AArch64::LDRWui: in DecodeUnsignedLdStInstruction()
726 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeUnsignedLdStInstruction()
729 case AArch64::LDRSBXui: in DecodeUnsignedLdStInstruction()
730 case AArch64::LDRSHXui: in DecodeUnsignedLdStInstruction()
731 case AArch64::LDRSWui: in DecodeUnsignedLdStInstruction()
732 case AArch64::STRXui: in DecodeUnsignedLdStInstruction()
733 case AArch64::LDRXui: in DecodeUnsignedLdStInstruction()
734 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeUnsignedLdStInstruction()
737 case AArch64::LDRQui: in DecodeUnsignedLdStInstruction()
738 case AArch64::STRQui: in DecodeUnsignedLdStInstruction()
739 DecodeSimpleRegisterClass<AArch64::FPR128RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeUnsignedLdStInstruction()
742 case AArch64::LDRDui: in DecodeUnsignedLdStInstruction()
743 case AArch64::STRDui: in DecodeUnsignedLdStInstruction()
744 DecodeSimpleRegisterClass<AArch64::FPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeUnsignedLdStInstruction()
747 case AArch64::LDRSui: in DecodeUnsignedLdStInstruction()
748 case AArch64::STRSui: in DecodeUnsignedLdStInstruction()
749 DecodeSimpleRegisterClass<AArch64::FPR32RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeUnsignedLdStInstruction()
752 case AArch64::LDRHui: in DecodeUnsignedLdStInstruction()
753 case AArch64::STRHui: in DecodeUnsignedLdStInstruction()
754 DecodeSimpleRegisterClass<AArch64::FPR16RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeUnsignedLdStInstruction()
757 case AArch64::LDRBui: in DecodeUnsignedLdStInstruction()
758 case AArch64::STRBui: in DecodeUnsignedLdStInstruction()
759 DecodeSimpleRegisterClass<AArch64::FPR8RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeUnsignedLdStInstruction()
764 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeUnsignedLdStInstruction()
787 case AArch64::LDRSBWpre: in DecodeSignedLdStInstruction()
788 case AArch64::LDRSHWpre: in DecodeSignedLdStInstruction()
789 case AArch64::STRBBpre: in DecodeSignedLdStInstruction()
790 case AArch64::LDRBBpre: in DecodeSignedLdStInstruction()
791 case AArch64::STRHHpre: in DecodeSignedLdStInstruction()
792 case AArch64::LDRHHpre: in DecodeSignedLdStInstruction()
793 case AArch64::STRWpre: in DecodeSignedLdStInstruction()
794 case AArch64::LDRWpre: in DecodeSignedLdStInstruction()
795 case AArch64::LDRSBWpost: in DecodeSignedLdStInstruction()
796 case AArch64::LDRSHWpost: in DecodeSignedLdStInstruction()
797 case AArch64::STRBBpost: in DecodeSignedLdStInstruction()
798 case AArch64::LDRBBpost: in DecodeSignedLdStInstruction()
799 case AArch64::STRHHpost: in DecodeSignedLdStInstruction()
800 case AArch64::LDRHHpost: in DecodeSignedLdStInstruction()
801 case AArch64::STRWpost: in DecodeSignedLdStInstruction()
802 case AArch64::LDRWpost: in DecodeSignedLdStInstruction()
803 case AArch64::LDRSBXpre: in DecodeSignedLdStInstruction()
804 case AArch64::LDRSHXpre: in DecodeSignedLdStInstruction()
805 case AArch64::STRXpre: in DecodeSignedLdStInstruction()
806 case AArch64::LDRSWpre: in DecodeSignedLdStInstruction()
807 case AArch64::LDRXpre: in DecodeSignedLdStInstruction()
808 case AArch64::LDRSBXpost: in DecodeSignedLdStInstruction()
809 case AArch64::LDRSHXpost: in DecodeSignedLdStInstruction()
810 case AArch64::STRXpost: in DecodeSignedLdStInstruction()
811 case AArch64::LDRSWpost: in DecodeSignedLdStInstruction()
812 case AArch64::LDRXpost: in DecodeSignedLdStInstruction()
813 case AArch64::LDRQpre: in DecodeSignedLdStInstruction()
814 case AArch64::STRQpre: in DecodeSignedLdStInstruction()
815 case AArch64::LDRQpost: in DecodeSignedLdStInstruction()
816 case AArch64::STRQpost: in DecodeSignedLdStInstruction()
817 case AArch64::LDRDpre: in DecodeSignedLdStInstruction()
818 case AArch64::STRDpre: in DecodeSignedLdStInstruction()
819 case AArch64::LDRDpost: in DecodeSignedLdStInstruction()
820 case AArch64::STRDpost: in DecodeSignedLdStInstruction()
821 case AArch64::LDRSpre: in DecodeSignedLdStInstruction()
822 case AArch64::STRSpre: in DecodeSignedLdStInstruction()
823 case AArch64::LDRSpost: in DecodeSignedLdStInstruction()
824 case AArch64::STRSpost: in DecodeSignedLdStInstruction()
825 case AArch64::LDRHpre: in DecodeSignedLdStInstruction()
826 case AArch64::STRHpre: in DecodeSignedLdStInstruction()
827 case AArch64::LDRHpost: in DecodeSignedLdStInstruction()
828 case AArch64::STRHpost: in DecodeSignedLdStInstruction()
829 case AArch64::LDRBpre: in DecodeSignedLdStInstruction()
830 case AArch64::STRBpre: in DecodeSignedLdStInstruction()
831 case AArch64::LDRBpost: in DecodeSignedLdStInstruction()
832 case AArch64::STRBpost: in DecodeSignedLdStInstruction()
833 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeSignedLdStInstruction()
841 case AArch64::PRFUMi: in DecodeSignedLdStInstruction()
845 case AArch64::STURBBi: in DecodeSignedLdStInstruction()
846 case AArch64::LDURBBi: in DecodeSignedLdStInstruction()
847 case AArch64::LDURSBWi: in DecodeSignedLdStInstruction()
848 case AArch64::STURHHi: in DecodeSignedLdStInstruction()
849 case AArch64::LDURHHi: in DecodeSignedLdStInstruction()
850 case AArch64::LDURSHWi: in DecodeSignedLdStInstruction()
851 case AArch64::STURWi: in DecodeSignedLdStInstruction()
852 case AArch64::LDURWi: in DecodeSignedLdStInstruction()
853 case AArch64::LDTRSBWi: in DecodeSignedLdStInstruction()
854 case AArch64::LDTRSHWi: in DecodeSignedLdStInstruction()
855 case AArch64::STTRWi: in DecodeSignedLdStInstruction()
856 case AArch64::LDTRWi: in DecodeSignedLdStInstruction()
857 case AArch64::STTRHi: in DecodeSignedLdStInstruction()
858 case AArch64::LDTRHi: in DecodeSignedLdStInstruction()
859 case AArch64::LDTRBi: in DecodeSignedLdStInstruction()
860 case AArch64::STTRBi: in DecodeSignedLdStInstruction()
861 case AArch64::LDRSBWpre: in DecodeSignedLdStInstruction()
862 case AArch64::LDRSHWpre: in DecodeSignedLdStInstruction()
863 case AArch64::STRBBpre: in DecodeSignedLdStInstruction()
864 case AArch64::LDRBBpre: in DecodeSignedLdStInstruction()
865 case AArch64::STRHHpre: in DecodeSignedLdStInstruction()
866 case AArch64::LDRHHpre: in DecodeSignedLdStInstruction()
867 case AArch64::STRWpre: in DecodeSignedLdStInstruction()
868 case AArch64::LDRWpre: in DecodeSignedLdStInstruction()
869 case AArch64::LDRSBWpost: in DecodeSignedLdStInstruction()
870 case AArch64::LDRSHWpost: in DecodeSignedLdStInstruction()
871 case AArch64::STRBBpost: in DecodeSignedLdStInstruction()
872 case AArch64::LDRBBpost: in DecodeSignedLdStInstruction()
873 case AArch64::STRHHpost: in DecodeSignedLdStInstruction()
874 case AArch64::LDRHHpost: in DecodeSignedLdStInstruction()
875 case AArch64::STRWpost: in DecodeSignedLdStInstruction()
876 case AArch64::LDRWpost: in DecodeSignedLdStInstruction()
877 case AArch64::STLURBi: in DecodeSignedLdStInstruction()
878 case AArch64::STLURHi: in DecodeSignedLdStInstruction()
879 case AArch64::STLURWi: in DecodeSignedLdStInstruction()
880 case AArch64::LDAPURBi: in DecodeSignedLdStInstruction()
881 case AArch64::LDAPURSBWi: in DecodeSignedLdStInstruction()
882 case AArch64::LDAPURHi: in DecodeSignedLdStInstruction()
883 case AArch64::LDAPURSHWi: in DecodeSignedLdStInstruction()
884 case AArch64::LDAPURi: in DecodeSignedLdStInstruction()
885 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeSignedLdStInstruction()
888 case AArch64::LDURSBXi: in DecodeSignedLdStInstruction()
889 case AArch64::LDURSHXi: in DecodeSignedLdStInstruction()
890 case AArch64::LDURSWi: in DecodeSignedLdStInstruction()
891 case AArch64::STURXi: in DecodeSignedLdStInstruction()
892 case AArch64::LDURXi: in DecodeSignedLdStInstruction()
893 case AArch64::LDTRSBXi: in DecodeSignedLdStInstruction()
894 case AArch64::LDTRSHXi: in DecodeSignedLdStInstruction()
895 case AArch64::LDTRSWi: in DecodeSignedLdStInstruction()
896 case AArch64::STTRXi: in DecodeSignedLdStInstruction()
897 case AArch64::LDTRXi: in DecodeSignedLdStInstruction()
898 case AArch64::LDRSBXpre: in DecodeSignedLdStInstruction()
899 case AArch64::LDRSHXpre: in DecodeSignedLdStInstruction()
900 case AArch64::STRXpre: in DecodeSignedLdStInstruction()
901 case AArch64::LDRSWpre: in DecodeSignedLdStInstruction()
902 case AArch64::LDRXpre: in DecodeSignedLdStInstruction()
903 case AArch64::LDRSBXpost: in DecodeSignedLdStInstruction()
904 case AArch64::LDRSHXpost: in DecodeSignedLdStInstruction()
905 case AArch64::STRXpost: in DecodeSignedLdStInstruction()
906 case AArch64::LDRSWpost: in DecodeSignedLdStInstruction()
907 case AArch64::LDRXpost: in DecodeSignedLdStInstruction()
908 case AArch64::LDAPURSWi: in DecodeSignedLdStInstruction()
909 case AArch64::LDAPURSHXi: in DecodeSignedLdStInstruction()
910 case AArch64::LDAPURSBXi: in DecodeSignedLdStInstruction()
911 case AArch64::STLURXi: in DecodeSignedLdStInstruction()
912 case AArch64::LDAPURXi: in DecodeSignedLdStInstruction()
913 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeSignedLdStInstruction()
916 case AArch64::LDURQi: in DecodeSignedLdStInstruction()
917 case AArch64::STURQi: in DecodeSignedLdStInstruction()
918 case AArch64::LDRQpre: in DecodeSignedLdStInstruction()
919 case AArch64::STRQpre: in DecodeSignedLdStInstruction()
920 case AArch64::LDRQpost: in DecodeSignedLdStInstruction()
921 case AArch64::STRQpost: in DecodeSignedLdStInstruction()
922 DecodeSimpleRegisterClass<AArch64::FPR128RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeSignedLdStInstruction()
925 case AArch64::LDURDi: in DecodeSignedLdStInstruction()
926 case AArch64::STURDi: in DecodeSignedLdStInstruction()
927 case AArch64::LDRDpre: in DecodeSignedLdStInstruction()
928 case AArch64::STRDpre: in DecodeSignedLdStInstruction()
929 case AArch64::LDRDpost: in DecodeSignedLdStInstruction()
930 case AArch64::STRDpost: in DecodeSignedLdStInstruction()
931 DecodeSimpleRegisterClass<AArch64::FPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeSignedLdStInstruction()
934 case AArch64::LDURSi: in DecodeSignedLdStInstruction()
935 case AArch64::STURSi: in DecodeSignedLdStInstruction()
936 case AArch64::LDRSpre: in DecodeSignedLdStInstruction()
937 case AArch64::STRSpre: in DecodeSignedLdStInstruction()
938 case AArch64::LDRSpost: in DecodeSignedLdStInstruction()
939 case AArch64::STRSpost: in DecodeSignedLdStInstruction()
940 DecodeSimpleRegisterClass<AArch64::FPR32RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeSignedLdStInstruction()
943 case AArch64::LDURHi: in DecodeSignedLdStInstruction()
944 case AArch64::STURHi: in DecodeSignedLdStInstruction()
945 case AArch64::LDRHpre: in DecodeSignedLdStInstruction()
946 case AArch64::STRHpre: in DecodeSignedLdStInstruction()
947 case AArch64::LDRHpost: in DecodeSignedLdStInstruction()
948 case AArch64::STRHpost: in DecodeSignedLdStInstruction()
949 DecodeSimpleRegisterClass<AArch64::FPR16RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeSignedLdStInstruction()
952 case AArch64::LDURBi: in DecodeSignedLdStInstruction()
953 case AArch64::STURBi: in DecodeSignedLdStInstruction()
954 case AArch64::LDRBpre: in DecodeSignedLdStInstruction()
955 case AArch64::STRBpre: in DecodeSignedLdStInstruction()
956 case AArch64::LDRBpost: in DecodeSignedLdStInstruction()
957 case AArch64::STRBpost: in DecodeSignedLdStInstruction()
958 DecodeSimpleRegisterClass<AArch64::FPR8RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeSignedLdStInstruction()
963 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeSignedLdStInstruction()
990 case AArch64::STLXRW: in DecodeExclusiveLdStInstruction()
991 case AArch64::STLXRB: in DecodeExclusiveLdStInstruction()
992 case AArch64::STLXRH: in DecodeExclusiveLdStInstruction()
993 case AArch64::STXRW: in DecodeExclusiveLdStInstruction()
994 case AArch64::STXRB: in DecodeExclusiveLdStInstruction()
995 case AArch64::STXRH: in DecodeExclusiveLdStInstruction()
996 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rs, Addr, in DecodeExclusiveLdStInstruction()
999 case AArch64::LDARW: in DecodeExclusiveLdStInstruction()
1000 case AArch64::LDARB: in DecodeExclusiveLdStInstruction()
1001 case AArch64::LDARH: in DecodeExclusiveLdStInstruction()
1002 case AArch64::LDAXRW: in DecodeExclusiveLdStInstruction()
1003 case AArch64::LDAXRB: in DecodeExclusiveLdStInstruction()
1004 case AArch64::LDAXRH: in DecodeExclusiveLdStInstruction()
1005 case AArch64::LDXRW: in DecodeExclusiveLdStInstruction()
1006 case AArch64::LDXRB: in DecodeExclusiveLdStInstruction()
1007 case AArch64::LDXRH: in DecodeExclusiveLdStInstruction()
1008 case AArch64::STLRW: in DecodeExclusiveLdStInstruction()
1009 case AArch64::STLRB: in DecodeExclusiveLdStInstruction()
1010 case AArch64::STLRH: in DecodeExclusiveLdStInstruction()
1011 case AArch64::STLLRW: in DecodeExclusiveLdStInstruction()
1012 case AArch64::STLLRB: in DecodeExclusiveLdStInstruction()
1013 case AArch64::STLLRH: in DecodeExclusiveLdStInstruction()
1014 case AArch64::LDLARW: in DecodeExclusiveLdStInstruction()
1015 case AArch64::LDLARB: in DecodeExclusiveLdStInstruction()
1016 case AArch64::LDLARH: in DecodeExclusiveLdStInstruction()
1017 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeExclusiveLdStInstruction()
1020 case AArch64::STLXRX: in DecodeExclusiveLdStInstruction()
1021 case AArch64::STXRX: in DecodeExclusiveLdStInstruction()
1022 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rs, Addr, in DecodeExclusiveLdStInstruction()
1025 case AArch64::LDARX: in DecodeExclusiveLdStInstruction()
1026 case AArch64::LDAXRX: in DecodeExclusiveLdStInstruction()
1027 case AArch64::LDXRX: in DecodeExclusiveLdStInstruction()
1028 case AArch64::STLRX: in DecodeExclusiveLdStInstruction()
1029 case AArch64::LDLARX: in DecodeExclusiveLdStInstruction()
1030 case AArch64::STLLRX: in DecodeExclusiveLdStInstruction()
1031 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeExclusiveLdStInstruction()
1034 case AArch64::STLXPW: in DecodeExclusiveLdStInstruction()
1035 case AArch64::STXPW: in DecodeExclusiveLdStInstruction()
1036 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rs, Addr, in DecodeExclusiveLdStInstruction()
1039 case AArch64::LDAXPW: in DecodeExclusiveLdStInstruction()
1040 case AArch64::LDXPW: in DecodeExclusiveLdStInstruction()
1041 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeExclusiveLdStInstruction()
1043 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rt2, Addr, in DecodeExclusiveLdStInstruction()
1046 case AArch64::STLXPX: in DecodeExclusiveLdStInstruction()
1047 case AArch64::STXPX: in DecodeExclusiveLdStInstruction()
1048 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rs, Addr, in DecodeExclusiveLdStInstruction()
1051 case AArch64::LDAXPX: in DecodeExclusiveLdStInstruction()
1052 case AArch64::LDXPX: in DecodeExclusiveLdStInstruction()
1053 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeExclusiveLdStInstruction()
1055 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt2, Addr, in DecodeExclusiveLdStInstruction()
1060 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeExclusiveLdStInstruction()
1064 if ((Opcode == AArch64::LDAXPW || Opcode == AArch64::LDXPW || in DecodeExclusiveLdStInstruction()
1065 Opcode == AArch64::LDAXPX || Opcode == AArch64::LDXPX) && in DecodeExclusiveLdStInstruction()
1093 case AArch64::LDPXpost: in DecodePairLdStInstruction()
1094 case AArch64::STPXpost: in DecodePairLdStInstruction()
1095 case AArch64::LDPSWpost: in DecodePairLdStInstruction()
1096 case AArch64::LDPXpre: in DecodePairLdStInstruction()
1097 case AArch64::STPXpre: in DecodePairLdStInstruction()
1098 case AArch64::LDPSWpre: in DecodePairLdStInstruction()
1099 case AArch64::LDPWpost: in DecodePairLdStInstruction()
1100 case AArch64::STPWpost: in DecodePairLdStInstruction()
1101 case AArch64::LDPWpre: in DecodePairLdStInstruction()
1102 case AArch64::STPWpre: in DecodePairLdStInstruction()
1103 case AArch64::LDPQpost: in DecodePairLdStInstruction()
1104 case AArch64::STPQpost: in DecodePairLdStInstruction()
1105 case AArch64::LDPQpre: in DecodePairLdStInstruction()
1106 case AArch64::STPQpre: in DecodePairLdStInstruction()
1107 case AArch64::LDPDpost: in DecodePairLdStInstruction()
1108 case AArch64::STPDpost: in DecodePairLdStInstruction()
1109 case AArch64::LDPDpre: in DecodePairLdStInstruction()
1110 case AArch64::STPDpre: in DecodePairLdStInstruction()
1111 case AArch64::LDPSpost: in DecodePairLdStInstruction()
1112 case AArch64::STPSpost: in DecodePairLdStInstruction()
1113 case AArch64::LDPSpre: in DecodePairLdStInstruction()
1114 case AArch64::STPSpre: in DecodePairLdStInstruction()
1115 case AArch64::STGPpre: in DecodePairLdStInstruction()
1116 case AArch64::STGPpost: in DecodePairLdStInstruction()
1117 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodePairLdStInstruction()
1125 case AArch64::LDPXpost: in DecodePairLdStInstruction()
1126 case AArch64::STPXpost: in DecodePairLdStInstruction()
1127 case AArch64::LDPSWpost: in DecodePairLdStInstruction()
1128 case AArch64::LDPXpre: in DecodePairLdStInstruction()
1129 case AArch64::STPXpre: in DecodePairLdStInstruction()
1130 case AArch64::LDPSWpre: in DecodePairLdStInstruction()
1131 case AArch64::STGPpre: in DecodePairLdStInstruction()
1132 case AArch64::STGPpost: in DecodePairLdStInstruction()
1135 case AArch64::LDNPXi: in DecodePairLdStInstruction()
1136 case AArch64::STNPXi: in DecodePairLdStInstruction()
1137 case AArch64::LDPXi: in DecodePairLdStInstruction()
1138 case AArch64::STPXi: in DecodePairLdStInstruction()
1139 case AArch64::LDPSWi: in DecodePairLdStInstruction()
1140 case AArch64::STGPi: in DecodePairLdStInstruction()
1141 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodePairLdStInstruction()
1143 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt2, Addr, in DecodePairLdStInstruction()
1146 case AArch64::LDPWpost: in DecodePairLdStInstruction()
1147 case AArch64::STPWpost: in DecodePairLdStInstruction()
1148 case AArch64::LDPWpre: in DecodePairLdStInstruction()
1149 case AArch64::STPWpre: in DecodePairLdStInstruction()
1152 case AArch64::LDNPWi: in DecodePairLdStInstruction()
1153 case AArch64::STNPWi: in DecodePairLdStInstruction()
1154 case AArch64::LDPWi: in DecodePairLdStInstruction()
1155 case AArch64::STPWi: in DecodePairLdStInstruction()
1156 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rt, Addr, in DecodePairLdStInstruction()
1158 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rt2, Addr, in DecodePairLdStInstruction()
1161 case AArch64::LDNPQi: in DecodePairLdStInstruction()
1162 case AArch64::STNPQi: in DecodePairLdStInstruction()
1163 case AArch64::LDPQpost: in DecodePairLdStInstruction()
1164 case AArch64::STPQpost: in DecodePairLdStInstruction()
1165 case AArch64::LDPQi: in DecodePairLdStInstruction()
1166 case AArch64::STPQi: in DecodePairLdStInstruction()
1167 case AArch64::LDPQpre: in DecodePairLdStInstruction()
1168 case AArch64::STPQpre: in DecodePairLdStInstruction()
1169 DecodeSimpleRegisterClass<AArch64::FPR128RegClassID, 0, 32>(Inst, Rt, Addr, in DecodePairLdStInstruction()
1171 DecodeSimpleRegisterClass<AArch64::FPR128RegClassID, 0, 32>(Inst, Rt2, Addr, in DecodePairLdStInstruction()
1174 case AArch64::LDNPDi: in DecodePairLdStInstruction()
1175 case AArch64::STNPDi: in DecodePairLdStInstruction()
1176 case AArch64::LDPDpost: in DecodePairLdStInstruction()
1177 case AArch64::STPDpost: in DecodePairLdStInstruction()
1178 case AArch64::LDPDi: in DecodePairLdStInstruction()
1179 case AArch64::STPDi: in DecodePairLdStInstruction()
1180 case AArch64::LDPDpre: in DecodePairLdStInstruction()
1181 case AArch64::STPDpre: in DecodePairLdStInstruction()
1182 DecodeSimpleRegisterClass<AArch64::FPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodePairLdStInstruction()
1184 DecodeSimpleRegisterClass<AArch64::FPR64RegClassID, 0, 32>(Inst, Rt2, Addr, in DecodePairLdStInstruction()
1187 case AArch64::LDNPSi: in DecodePairLdStInstruction()
1188 case AArch64::STNPSi: in DecodePairLdStInstruction()
1189 case AArch64::LDPSpost: in DecodePairLdStInstruction()
1190 case AArch64::STPSpost: in DecodePairLdStInstruction()
1191 case AArch64::LDPSi: in DecodePairLdStInstruction()
1192 case AArch64::STPSi: in DecodePairLdStInstruction()
1193 case AArch64::LDPSpre: in DecodePairLdStInstruction()
1194 case AArch64::STPSpre: in DecodePairLdStInstruction()
1195 DecodeSimpleRegisterClass<AArch64::FPR32RegClassID, 0, 32>(Inst, Rt, Addr, in DecodePairLdStInstruction()
1197 DecodeSimpleRegisterClass<AArch64::FPR32RegClassID, 0, 32>(Inst, Rt2, Addr, in DecodePairLdStInstruction()
1202 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodePairLdStInstruction()
1230 case AArch64::LDRAAwriteback: in DecodeAuthLoadInstruction()
1231 case AArch64::LDRABwriteback: in DecodeAuthLoadInstruction()
1232 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>( in DecodeAuthLoadInstruction()
1235 case AArch64::LDRAAindexed: in DecodeAuthLoadInstruction()
1236 case AArch64::LDRABindexed: in DecodeAuthLoadInstruction()
1240 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeAuthLoadInstruction()
1242 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeAuthLoadInstruction()
1268 case AArch64::ADDWrx: in DecodeAddSubERegInstruction()
1269 case AArch64::SUBWrx: in DecodeAddSubERegInstruction()
1270 DecodeSimpleRegisterClass<AArch64::GPR32spRegClassID, 0, 32>(Inst, Rd, Addr, in DecodeAddSubERegInstruction()
1272 DecodeSimpleRegisterClass<AArch64::GPR32spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeAddSubERegInstruction()
1274 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rm, Addr, in DecodeAddSubERegInstruction()
1277 case AArch64::ADDSWrx: in DecodeAddSubERegInstruction()
1278 case AArch64::SUBSWrx: in DecodeAddSubERegInstruction()
1279 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeAddSubERegInstruction()
1281 DecodeSimpleRegisterClass<AArch64::GPR32spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeAddSubERegInstruction()
1283 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rm, Addr, in DecodeAddSubERegInstruction()
1286 case AArch64::ADDXrx: in DecodeAddSubERegInstruction()
1287 case AArch64::SUBXrx: in DecodeAddSubERegInstruction()
1288 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rd, Addr, in DecodeAddSubERegInstruction()
1290 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeAddSubERegInstruction()
1292 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rm, Addr, in DecodeAddSubERegInstruction()
1295 case AArch64::ADDSXrx: in DecodeAddSubERegInstruction()
1296 case AArch64::SUBSXrx: in DecodeAddSubERegInstruction()
1297 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeAddSubERegInstruction()
1299 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeAddSubERegInstruction()
1301 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rm, Addr, in DecodeAddSubERegInstruction()
1304 case AArch64::ADDXrx64: in DecodeAddSubERegInstruction()
1305 case AArch64::SUBXrx64: in DecodeAddSubERegInstruction()
1306 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rd, Addr, in DecodeAddSubERegInstruction()
1308 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeAddSubERegInstruction()
1310 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rm, Addr, in DecodeAddSubERegInstruction()
1313 case AArch64::SUBSXrx64: in DecodeAddSubERegInstruction()
1314 case AArch64::ADDSXrx64: in DecodeAddSubERegInstruction()
1315 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeAddSubERegInstruction()
1317 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeAddSubERegInstruction()
1319 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rm, Addr, in DecodeAddSubERegInstruction()
1337 if (Inst.getOpcode() == AArch64::ANDSXri) in DecodeLogicalImmInstruction()
1338 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeLogicalImmInstruction()
1341 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>( in DecodeLogicalImmInstruction()
1343 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rn, Addr, in DecodeLogicalImmInstruction()
1349 if (Inst.getOpcode() == AArch64::ANDSWri) in DecodeLogicalImmInstruction()
1350 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeLogicalImmInstruction()
1353 DecodeSimpleRegisterClass<AArch64::GPR32spRegClassID, 0, 32>( in DecodeLogicalImmInstruction()
1355 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rn, Addr, in DecodeLogicalImmInstruction()
1373 if (Inst.getOpcode() == AArch64::MOVID) in DecodeModImmInstruction()
1374 DecodeSimpleRegisterClass<AArch64::FPR64RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeModImmInstruction()
1377 DecodeSimpleRegisterClass<AArch64::FPR128RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeModImmInstruction()
1385 case AArch64::MOVIv4i16: in DecodeModImmInstruction()
1386 case AArch64::MOVIv8i16: in DecodeModImmInstruction()
1387 case AArch64::MVNIv4i16: in DecodeModImmInstruction()
1388 case AArch64::MVNIv8i16: in DecodeModImmInstruction()
1389 case AArch64::MOVIv2i32: in DecodeModImmInstruction()
1390 case AArch64::MOVIv4i32: in DecodeModImmInstruction()
1391 case AArch64::MVNIv2i32: in DecodeModImmInstruction()
1392 case AArch64::MVNIv4i32: in DecodeModImmInstruction()
1395 case AArch64::MOVIv2s_msl: in DecodeModImmInstruction()
1396 case AArch64::MOVIv4s_msl: in DecodeModImmInstruction()
1397 case AArch64::MVNIv2s_msl: in DecodeModImmInstruction()
1398 case AArch64::MVNIv4s_msl: in DecodeModImmInstruction()
1415 DecodeSimpleRegisterClass<AArch64::FPR128RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeModImmTiedInstruction()
1417 DecodeSimpleRegisterClass<AArch64::FPR128RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeModImmTiedInstruction()
1437 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeAdrInstruction()
1462 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>( in DecodeAddSubImmShift()
1465 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeAddSubImmShift()
1467 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeAddSubImmShift()
1471 DecodeSimpleRegisterClass<AArch64::GPR32spRegClassID, 0, 32>( in DecodeAddSubImmShift()
1474 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rd, Addr, in DecodeAddSubImmShift()
1476 DecodeSimpleRegisterClass<AArch64::GPR32spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodeAddSubImmShift()
1563 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeTestAndBranch()
1566 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeTestAndBranch()
1592 Inst, AArch64::WSeqPairsClassRegClassID, RegNo, Addr, Decoder); in DecodeWSeqPairsClassRegisterClass()
1599 Inst, AArch64::XSeqPairsClassRegClassID, RegNo, Addr, Decoder); in DecodeXSeqPairsClassRegisterClass()
1617 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rt, Addr, in DecodeSyspXzrInstruction()
1632 DecodeSimpleRegisterClass<AArch64::ZPRRegClassID, 0, 32>(Inst, Zdn, Addr, in DecodeSVELogicalImmInstruction()
1634 if (Inst.getOpcode() != AArch64::DUPM_ZI) in DecodeSVELogicalImmInstruction()
1635 DecodeSimpleRegisterClass<AArch64::ZPRRegClassID, 0, 32>(Inst, Zdn, Addr, in DecodeSVELogicalImmInstruction()
1699 if (!DecodeSimpleRegisterClass<AArch64::GPR64commonRegClassID, 0, 31>( in DecodeCPYMemOpInstruction()
1701 !DecodeSimpleRegisterClass<AArch64::GPR64commonRegClassID, 0, 31>( in DecodeCPYMemOpInstruction()
1703 !DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>( in DecodeCPYMemOpInstruction()
1705 !DecodeSimpleRegisterClass<AArch64::GPR64commonRegClassID, 0, 31>( in DecodeCPYMemOpInstruction()
1707 !DecodeSimpleRegisterClass<AArch64::GPR64commonRegClassID, 0, 31>( in DecodeCPYMemOpInstruction()
1709 !DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>( in DecodeCPYMemOpInstruction()
1730 if (!DecodeSimpleRegisterClass<AArch64::GPR64commonRegClassID, 0, 31>( in DecodeSETMemOpInstruction()
1732 !DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>( in DecodeSETMemOpInstruction()
1734 !DecodeSimpleRegisterClass<AArch64::GPR64commonRegClassID, 0, 31>( in DecodeSETMemOpInstruction()
1736 !DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>( in DecodeSETMemOpInstruction()
1738 !DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>( in DecodeSETMemOpInstruction()
1761 DecodeSimpleRegisterClass<AArch64::GPR64spRegClassID, 0, 32>(Inst, Rn, Addr, in DecodePRFMRegInstruction()
1767 case AArch64::PRFMroW: in DecodePRFMRegInstruction()
1768 DecodeSimpleRegisterClass<AArch64::GPR32RegClassID, 0, 32>(Inst, Rm, Addr, in DecodePRFMRegInstruction()
1771 case AArch64::PRFMroX: in DecodePRFMRegInstruction()
1772 DecodeSimpleRegisterClass<AArch64::GPR64RegClassID, 0, 32>(Inst, Rm, Addr, in DecodePRFMRegInstruction()