Home
last modified time | relevance | path

Searched refs:VMOVDRR (Results 1 – 13 of 13) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMFixCortexA57AES1742098Pass.cpp163 case ARM::VMOVDRR: in isSafeAESInput()
H A DARMInstrVFP.td26 def arm_fmdrr : SDNode<"ARMISD::VMOVDRR", SDT_VMOVDRR>;
1202 // Bitcast i32 -> f32. NEON prefers to use VMOVDRR.
1286 def VMOVDRR : AVConv5I<0b11000100, 0b1011,
1318 (VMOVDRR GPR:$Rl, (BFC GPR:$Rh, (i32 0x7FFFFFFF)))>,
1321 (VMOVDRR GPR:$Rl, (t2BFC GPR:$Rh, (i32 0x7FFFFFFF)))>,
1324 (VMOVDRR GPR:$Rl, (EORri GPR:$Rh, (i32 0x80000000)))>,
1327 (VMOVDRR GPR:$Rl, (t2EORri GPR:$Rh, (i32 0x80000000)))>,
2795 (VMOVDRR DPR:$Dn, GPR:$Rt, GPR:$Rt2, pred:$p)>;
H A DARMFeatures.td257 // Some targets (e.g. Cortex-A9) prefer VMOVSR to VMOVDRR even when using NEON
259 // True if VMOVSR will be favored over VMOVDRR.
H A DARMISelLowering.h115 VMOVDRR, // Two gprs to double. enumerator
H A DARMInstructionSelector.cpp258 MIB->setDesc(TII.get(ARM::VMOVDRR)); in selectMergeValues()
H A DARMScheduleM55.td458 def : InstRW<[M55WriteFloatE3], (instregex "VINSH$", "VMOVH$", "VMOVHR$", "VMOVSR$", "VMOVDRR$")>; // VINS, VMOVX, to-FP reg movs
H A DARMExpandPseudoInsts.cpp1321 BuildMI(ClearBB, DL, TII->get(ARM::VMOVDRR), Reg) in CMSEClearFPRegsV8()
1492 BuildMI(MBB, MBBI, DL, TII->get(ARM::VMOVDRR), Reg) in CMSESaveClearFPRegsV8()
1732 BuildMI(MBB, MBBI, DL, TII->get(ARM::VMOVDRR), Reg) in CMSERestoreFPRegsV8()
H A DARMScheduleSwift.td641 def : InstRW<[SwiftWriteP2FourCycle], (instregex "VMOVDRR$")>;
H A DARMISelLowering.cpp1743 MAKE_CASE(ARMISD::VMOVDRR) in getTargetNodeName()
2242 Val = DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi); in LowerCallResult()
2259 Val = DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi); in LowerCallResult()
4377 return DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, ArgValue, ArgValue2); in GetF64FormalArgument()
5271 return DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Low, High); in getCMOV()
6045 Tmp0.getOpcode() == ARMISD::VMOVDRR; in LowerFCOPYSIGN()
6116 return DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi); in LowerFCOPYSIGN()
6283 DAG.getNode(ARMISD::VMOVDRR, dl, MVT::f64, Lo, Hi)); in ExpandBITCAST()
7168 return DAG.getNode(ARMISD::VMOVDRR, DL, MVT::f64, Lo, Hi); in LowerConstantFP()
15058 if (InDouble.getOpcode() == ARMISD::VMOVDRR && Subtarget->hasFP64()) in PerformVMOVRRDCombine()
[all …]
H A DARMScheduleA57.td807 def : InstRW<[A57Write_8cyc_1L_1I], (instregex "VMOVDRR")>;
H A DARMFastISel.cpp2044 TII.get(ARM::VMOVDRR), ResultReg) in FinishCall()
H A DARMInstrNEON.td6658 // ARMvdup patterns for uarchs with slow VDUP.32 - use VMOVDRR instead.
6659 def : Pat<(v2i32 (ARMvdup (i32 GPR:$R))), (VMOVDRR GPR:$R, GPR:$R)>,
6661 def : Pat<(v2f32 (ARMvdup (f32 (bitconvert GPR:$R)))), (VMOVDRR GPR:$R, GPR:$R)>,
7499 // Prefer VMOVDRR for i32 -> f32 bitcasts, it can write all DPR registers.
7501 (EXTRACT_SUBREG (VMOVDRR GPR:$a, GPR:$a), ssub_0)>,
7504 (EXTRACT_SUBREG (VMOVDRR GPR:$a, GPR:$a), ssub_0)>,
H A DARMBaseInstrInfo.cpp5459 case ARM::VMOVDRR: in getRegSequenceLikeInputs()