Home | History | Annotate | Download | only in X86

Lines Matching refs:AM

81   bool X86FastEmitLoad(EVT VT, const X86AddressMode &AM, unsigned &RR);
83 bool X86FastEmitStore(EVT VT, const Value *Val, const X86AddressMode &AM);
84 bool X86FastEmitStore(EVT VT, unsigned Val, const X86AddressMode &AM);
89 bool X86SelectAddress(const Value *V, X86AddressMode &AM);
90 bool X86SelectCallAddress(const Value *V, X86AddressMode &AM);
176 bool X86FastISel::X86FastEmitLoad(EVT VT, const X86AddressMode &AM,
226 DL, TII.get(Opc), ResultReg), AM);
235 X86FastISel::X86FastEmitStore(EVT VT, unsigned Val, const X86AddressMode &AM) {
276 DL, TII.get(Opc)), AM).addReg(Val);
281 const X86AddressMode &AM) {
305 DL, TII.get(Opc)), AM)
316 return X86FastEmitStore(VT, ValReg, AM);
337 bool X86FastISel::X86SelectAddress(const Value *V, X86AddressMode &AM) {
364 return X86SelectAddress(U->getOperand(0), AM);
369 return X86SelectAddress(U->getOperand(0), AM);
375 return X86SelectAddress(U->getOperand(0), AM);
384 AM.BaseType = X86AddressMode::FrameIndexBase;
385 AM.Base.FrameIndex = SI->second;
394 uint64_t Disp = (int32_t)AM.Disp + (uint64_t)CI->getSExtValue();
397 AM.Disp = (uint32_t)Disp;
398 return X86SelectAddress(U->getOperand(0), AM);
405 X86AddressMode SavedAM = AM;
408 uint64_t Disp = (int32_t)AM.Disp;
409 unsigned IndexReg = AM.IndexReg;
410 unsigned Scale = AM.Scale;
447 (!AM.GV || !Subtarget->isPICStyleRIPRel()) &&
465 AM.IndexReg = IndexReg;
466 AM.Scale = Scale;
467 AM.Disp = (uint32_t)Disp;
468 if (X86SelectAddress(U->getOperand(0), AM))
473 AM = SavedAM;
504 (AM.Base.Reg == 0 && AM.IndexReg == 0)) {
506 AM.GV = GV;
514 AM.Base.Reg = getInstrInfo()->getGlobalBaseReg(FuncInfo.MF);
523 assert(AM.Base.Reg == 0 && AM.IndexReg == 0);
524 AM.Base.Reg = X86::RIP;
526 AM.GVOpFlags = GVFlags;
541 StubAM.Base.Reg = AM.Base.Reg;
573 AM.Base.Reg = LoadReg;
574 AM.GV = 0;
580 if (!AM.GV || !Subtarget->isPICStyleRIPRel()) {
581 if (AM.Base.Reg == 0) {
582 AM.Base.Reg = getRegForValue(V);
583 return AM.Base.Reg != 0;
585 if (AM.IndexReg == 0) {
586 assert(AM.Scale == 1 && "Scale with no index!");
587 AM.IndexReg = getRegForValue(V);
588 return AM.IndexReg != 0;
597 bool X86FastISel::X86SelectCallAddress(const Value *V, X86AddressMode &AM) {
612 return X86SelectCallAddress(U->getOperand(0), AM);
617 return X86SelectCallAddress(U->getOperand(0), AM);
623 return X86SelectCallAddress(U->getOperand(0), AM);
635 (AM.Base.Reg != 0 || AM.IndexReg != 0))
648 AM.GV = GV;
655 assert(AM.Base.Reg == 0 && AM.IndexReg == 0);
656 AM.Base.Reg = X86::RIP;
658 AM.GVOpFlags = X86II::MO_PIC_BASE_OFFSET;
660 AM.GVOpFlags = X86II::MO_GOTOFF;
667 if (!AM.GV || !Subtarget->isPICStyleRIPRel()) {
668 if (AM.Base.Reg == 0) {
669 AM.Base.Reg = getRegForValue(V);
670 return AM.Base.Reg != 0;
672 if (AM.IndexReg == 0) {
673 assert(AM.Scale == 1 && "Scale with no index!");
674 AM.IndexReg = getRegForValue(V);
675 return AM.IndexReg != 0;
700 X86AddressMode AM;
701 if (!X86SelectAddress(I->getOperand(1), AM))
704 return X86FastEmitStore(VT, I->getOperand(0), AM);
826 X86AddressMode AM;
827 if (!X86SelectAddress(I->getOperand(0), AM))
831 if (X86FastEmitLoad(VT, AM, ResultReg)) {
1433 X86AddressMode AM;
1434 if (!X86SelectAddress(Slot, AM)) return false;
1435 if (!X86FastEmitStore(PtrTy, Op1, AM)) return false;
1440 X86AddressMode AM;
1442 if (!X86SelectAddress(DI->getAddress(), AM))
1447 addFullAddress(BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, II), AM).
1747 X86AddressMode AM;
1748 AM.Base.Reg = StackPtr;
1749 AM.Disp = LocMemOffset;
1756 bool Res = TryEmitSmallMemcpy(AM, SrcAM, Flags.getByValSize());
1762 if (!X86FastEmitStore(ArgVT, ArgVal, AM))
1765 if (!X86FastEmitStore(ArgVT, Arg, AM))
2042 X86AddressMode AM;
2043 if (X86SelectAddress(C, AM)) {
2046 if (AM.BaseType == X86AddressMode::RegBase &&
2047 AM.IndexReg == 0 && AM.Disp == 0 && AM.GV == 0)
2048 return AM.Base.Reg;
2053 TII.get(Opc), ResultReg), AM);
2101 X86AddressMode AM;
2102 if (!X86SelectAddress(C, AM))
2108 TII.get(Opc), ResultReg), AM);
2157 X86AddressMode AM;
2158 if (!X86SelectAddress(LI->getOperand(0), AM))
2167 AM.getFullAddress(AddrOps);