Lines Matching refs:ARM

1 //===-- ARMBaseInstrInfo.h - ARM Base Instruction Information ---*- C++ -*-===//
9 // This file contains the Base ARM implementation of the TargetInstrInfo class.
481 return MachineOperand::CreateReg(ARM::CPSR,
488 return Opc == ARM::B || Opc == ARM::tB || Opc == ARM::t2B;
513 return Opc == ARM::MVE_VPTv16i8 || Opc == ARM::MVE_VPTv16u8 ||
514 Opc == ARM::MVE_VPTv16s8 || Opc == ARM::MVE_VPTv8i16 ||
515 Opc == ARM::MVE_VPTv8u16 || Opc == ARM::MVE_VPTv8s16 ||
516 Opc == ARM::MVE_VPTv4i32 || Opc == ARM::MVE_VPTv4u32 ||
517 Opc == ARM::MVE_VPTv4s32 || Opc == ARM::MVE_VPTv4f32 ||
518 Opc == ARM::MVE_VPTv8f16 || Opc == ARM::MVE_VPTv16i8r ||
519 Opc == ARM::MVE_VPTv16u8r || Opc == ARM::MVE_VPTv16s8r ||
520 Opc == ARM::MVE_VPTv8i16r || Opc == ARM::MVE_VPTv8u16r ||
521 Opc == ARM::MVE_VPTv8s16r || Opc == ARM::MVE_VPTv4i32r ||
522 Opc == ARM::MVE_VPTv4u32r || Opc == ARM::MVE_VPTv4s32r ||
523 Opc == ARM::MVE_VPTv4f32r || Opc == ARM::MVE_VPTv8f16r ||
524 Opc == ARM::MVE_VPST;
532 case ARM::MVE_VCMPf32:
533 return ARM::MVE_VPTv4f32;
534 case ARM::MVE_VCMPf16:
535 return ARM::MVE_VPTv8f16;
536 case ARM::MVE_VCMPi8:
537 return ARM::MVE_VPTv16i8;
538 case ARM::MVE_VCMPi16:
539 return ARM::MVE_VPTv8i16;
540 case ARM::MVE_VCMPi32:
541 return ARM::MVE_VPTv4i32;
542 case ARM::MVE_VCMPu8:
543 return ARM::MVE_VPTv16u8;
544 case ARM::MVE_VCMPu16:
545 return ARM::MVE_VPTv8u16;
546 case ARM::MVE_VCMPu32:
547 return ARM::MVE_VPTv4u32;
548 case ARM::MVE_VCMPs8:
549 return ARM::MVE_VPTv16s8;
550 case ARM::MVE_VCMPs16:
551 return ARM::MVE_VPTv8s16;
552 case ARM::MVE_VCMPs32:
553 return ARM::MVE_VPTv4s32;
555 case ARM::MVE_VCMPf32r:
556 return ARM::MVE_VPTv4f32r;
557 case ARM::MVE_VCMPf16r:
558 return ARM::MVE_VPTv8f16r;
559 case ARM::MVE_VCMPi8r:
560 return ARM::MVE_VPTv16i8r;
561 case ARM::MVE_VCMPi16r:
562 return ARM::MVE_VPTv8i16r;
563 case ARM::MVE_VCMPi32r:
564 return ARM::MVE_VPTv4i32r;
565 case ARM::MVE_VCMPu8r:
566 return ARM::MVE_VPTv16u8r;
567 case ARM::MVE_VCMPu16r:
568 return ARM::MVE_VPTv8u16r;
569 case ARM::MVE_VCMPu32r:
570 return ARM::MVE_VPTv4u32r;
571 case ARM::MVE_VCMPs8r:
572 return ARM::MVE_VPTv16s8r;
573 case ARM::MVE_VCMPs16r:
574 return ARM::MVE_VPTv8s16r;
575 case ARM::MVE_VCMPs32r:
576 return ARM::MVE_VPTv4s32r;
586 case ARM::MVE_VCTP8:
587 return IsDoLoop ? ARM::MVE_DLSTP_8 : ARM::MVE_WLSTP_8;
588 case ARM::MVE_VCTP16:
589 return IsDoLoop ? ARM::MVE_DLSTP_16 : ARM::MVE_WLSTP_16;
590 case ARM::MVE_VCTP32:
591 return IsDoLoop ? ARM::MVE_DLSTP_32 : ARM::MVE_WLSTP_32;
592 case ARM::MVE_VCTP64:
593 return IsDoLoop ? ARM::MVE_DLSTP_64 : ARM::MVE_WLSTP_64;
603 case ARM::MVE_VCTP8:
604 case ARM::MVE_VCTP16:
605 case ARM::MVE_VCTP32:
606 case ARM::MVE_VCTP64:
614 return MI.getOpcode() == ARM::t2DoLoopStart ||
615 MI.getOpcode() == ARM::t2WhileLoopStart;
620 return Opc == ARM::Bcc || Opc == ARM::tBcc || Opc == ARM::t2Bcc;
624 return Opc == ARM::BR_JTr || Opc == ARM::BR_JTm_i12 ||
625 Opc == ARM::BR_JTm_rs || Opc == ARM::BR_JTadd || Opc == ARM::tBR_JTr ||
626 Opc == ARM::t2BR_JT;
631 return Opc == ARM::BX || Opc == ARM::MOVPCRX || Opc == ARM::tBRIND;
635 return Opc == ARM::tPOP_RET || Opc == ARM::LDMIA_RET ||
636 Opc == ARM::t2LDMIA_RET || Opc == ARM::tPOP || Opc == ARM::LDMIA_UPD ||
637 Opc == ARM::t2LDMIA_UPD || Opc == ARM::VLDMDIA_UPD;
641 return Opc == ARM::tPUSH || Opc == ARM::t2STMDB_UPD ||
642 Opc == ARM::STMDB_UPD || Opc == ARM::VSTMDDB_UPD;
651 if (featureBits[ARM::HasV8Ops] && (Num & 0xE) != 0xE)
655 if (featureBits[ARM::HasV7Ops] && (Num & 0xE) == 0xA)
660 if (featureBits[ARM::HasV8_1MMainlineOps] &&
680 /// instructions to materializea destreg = basereg + immediate in ARM / Thumb2