Home | History | Annotate | Download | only in Sparc

Lines Matching refs:MVT

36 static bool CC_Sparc_Assign_SRet(unsigned &ValNo, MVT &ValVT,
37 MVT &LocVT, CCValAssign::LocInfo &LocInfo,
49 static bool CC_Sparc_Assign_f64(unsigned &ValNo, MVT &ValVT,
50 MVT &LocVT, CCValAssign::LocInfo &LocInfo,
135 SDValue RetAddrOffsetNode = DAG.getConstant(RetAddrOffset, MVT::i32);
138 return DAG.getNode(SPISD::RET_FLAG, dl, MVT::Other, Chain,
140 return DAG.getNode(SPISD::RET_FLAG, dl, MVT::Other, Chain,
174 SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
175 SDValue Arg = DAG.getLoad(MVT::i32, dl, Chain, FIPtr,
184 assert(VA.getLocVT() == MVT::f64);
187 SDValue HiVal = DAG.getCopyFromReg(Chain, dl, VRegHi, MVT::i32);
196 SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
197 LoVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr,
203 LoVal = DAG.getCopyFromReg(Chain, dl, loReg, MVT::i32);
206 DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, LoVal, HiVal);
207 WholeValue = DAG.getNode(ISD::BITCAST, dl, MVT::f64, WholeValue);
213 SDValue Arg = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i32);
214 if (VA.getLocVT() == MVT::f32)
215 Arg = DAG.getNode(ISD::BITCAST, dl, MVT::f32, Arg);
216 else if (VA.getLocVT() != MVT::i32) {
217 Arg = DAG.getNode(ISD::AssertSext, dl, MVT::i32, Arg,
230 assert(VA.getValVT() == MVT::f64);
248 SDValue HiVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr,
256 SDValue LoVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr2,
261 DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, LoVal, HiVal);
262 WholeValue = DAG.getNode(ISD::BITCAST, dl, MVT::f64, WholeValue);
272 if (VA.getValVT() == MVT::i32 || VA.getValVT() == MVT::f32) {
280 FIPtr = DAG.getNode(ISD::ADD, dl, MVT::i32, FIPtr,
281 DAG.getConstant(Offset, MVT::i32));
282 Load = DAG.getExtLoad(LoadOp, dl, MVT::i32, Chain, FIPtr,
299 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Copy, Chain);
325 SDValue Arg = DAG.getCopyFromReg(DAG.getRoot(), dl, VReg, MVT::i32);
329 SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
339 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
386 SDValue SizeNode = DAG.getConstant(Size, MVT::i32);
436 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32);
438 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff);
447 assert(VA.getLocVT() == MVT::f64);
453 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32);
455 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff);
463 SDValue StackPtr = DAG.CreateStackTemporary(MVT::f64, MVT::i32);
468 SDValue Hi = DAG.getLoad(MVT::i32, dl, Store, StackPtr,
474 SDValue Lo = DAG.getLoad(MVT::i32, dl, Store, StackPtr,
486 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32);
488 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff);
496 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32);
498 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff);
504 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff);
515 if (VA.getLocVT() != MVT::f32) {
519 Arg = DAG.getNode(ISD::BITCAST, dl, MVT::i32, Arg);
527 SDValue StackPtr = DAG.getRegister(SP::O6, MVT::i32);
529 PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff);
538 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
562 Callee = DAG.getTargetGlobalAddress(G->getGlobal(), dl, MVT::i32);
564 Callee = DAG.getTargetExternalSymbol(E->getSymbol(), MVT::i32);
567 SDVTList NodeTys = DAG.getVTList(MVT::Other, MVT::Glue);
572 Ops.push_back(DAG.getTargetConstant(SRetArgSize, MVT::i32));
692 addRegisterClass(MVT::i32, SP::IntRegsRegisterClass);
693 addRegisterClass(MVT::f32, SP::FPRegsRegisterClass);
694 addRegisterClass(MVT::f64, SP::DFPRegsRegisterClass);
697 setLoadExtAction(ISD::EXTLOAD, MVT::f32, Expand);
699 setLoadExtAction(ISD::SEXTLOAD, MVT::i1, Promote);
701 setTruncStoreAction(MVT::f64, MVT::f32, Expand);
704 setOperationAction(ISD::GlobalAddress, MVT::i32, Custom);
705 setOperationAction(ISD::GlobalTLSAddress, MVT::i32, Custom);
706 setOperationAction(ISD::ConstantPool , MVT::i32, Custom);
709 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16, Expand);
710 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8 , Expand);
711 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i1 , Expand);
714 setOperationAction(ISD::UREM, MVT::i32, Expand);
715 setOperationAction(ISD::SREM, MVT::i32, Expand);
716 setOperationAction(ISD::SDIVREM, MVT::i32, Expand);
717 setOperationAction(ISD::UDIVREM, MVT::i32, Expand);
720 setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom);
721 setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom);
724 setOperationAction(ISD::FP_TO_UINT, MVT::i32, Expand);
725 setOperationAction(ISD::UINT_TO_FP, MVT::i32, Expand);
727 setOperationAction(ISD::BITCAST, MVT::f32, Expand);
728 setOperationAction(ISD::BITCAST, MVT::i32, Expand);
731 setOperationAction(ISD::SELECT, MVT::i32, Expand);
732 setOperationAction(ISD::SELECT, MVT::f32, Expand);
733 setOperationAction(ISD::SELECT, MVT::f64, Expand);
734 setOperationAction(ISD::SETCC, MVT::i32, Expand);
735 setOperationAction(ISD::SETCC, MVT::f32, Expand);
736 setOperationAction(ISD::SETCC, MVT::f64, Expand);
739 setOperationAction(ISD::BRCOND, MVT::Other, Expand);
740 setOperationAction(ISD::BRIND, MVT::Other, Expand);
741 setOperationAction(ISD::BR_JT, MVT::Other, Expand);
742 setOperationAction(ISD::BR_CC, MVT::i32, Custom);
743 setOperationAction(ISD::BR_CC, MVT::f32, Custom);
744 setOperationAction(ISD::BR_CC, MVT::f64, Custom);
746 setOperationAction(ISD::SELECT_CC, MVT::i32, Custom);
747 setOperationAction(ISD::SELECT_CC, MVT::f32, Custom);
748 setOperationAction(ISD::SELECT_CC, MVT::f64, Custom);
752 setOperationAction(ISD::MEMBARRIER, MVT::Other, Expand);
753 setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Expand);
755 setOperationAction(ISD::FSIN , MVT::f64, Expand);
756 setOperationAction(ISD::FCOS , MVT::f64, Expand);
757 setOperationAction(ISD::FREM , MVT::f64, Expand);
758 setOperationAction(ISD::FMA , MVT::f64, Expand);
759 setOperationAction(ISD::FSIN , MVT::f32, Expand);
760 setOperationAction(ISD::FCOS , MVT::f32, Expand);
761 setOperationAction(ISD::FREM , MVT::f32, Expand);
762 setOperationAction(ISD::FMA , MVT::f32, Expand);
763 setOperationAction(ISD::CTPOP, MVT::i32, Expand);
764 setOperationAction(ISD::CTTZ , MVT::i32, Expand);
765 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32, Expand);
766 setOperationAction(ISD::CTLZ , MVT::i32, Expand);
767 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i32, Expand);
768 setOperationAction(ISD::ROTL , MVT::i32, Expand);
769 setOperationAction(ISD::ROTR , MVT::i32, Expand);
770 setOperationAction(ISD::BSWAP, MVT::i32, Expand);
771 setOperationAction(ISD::FCOPYSIGN, MVT::f64, Expand);
772 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Expand);
773 setOperationAction(ISD::FPOW , MVT::f64, Expand);
774 setOperationAction(ISD::FPOW , MVT::f32, Expand);
776 setOperationAction(ISD::SHL_PARTS, MVT::i32, Expand);
777 setOperationAction(ISD::SRA_PARTS, MVT::i32, Expand);
778 setOperationAction(ISD::SRL_PARTS, MVT::i32, Expand);
781 setOperationAction(ISD::UMUL_LOHI, MVT::i32, Expand);
782 setOperationAction(ISD::SMUL_LOHI, MVT::i32, Expand);
784 setOperationAction(ISD::EH_LABEL, MVT::Other, Expand);
787 setOperationAction(ISD::VASTART , MVT::Other, Custom);
789 setOperationAction(ISD::VAARG , MVT::Other, Custom);
792 setOperationAction(ISD::VACOPY , MVT::Other, Expand);
793 setOperationAction(ISD::VAEND , MVT::Other, Expand);
794 setOperationAction(ISD::STACKSAVE , MVT::Other, Expand);
795 setOperationAction(ISD::STACKRESTORE , MVT::Other, Expand);
796 setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32 , Custom);
799 setOperationAction(ISD::EH_LABEL, MVT::Other, Expand);
804 setOperationAction(ISD::CTPOP, MVT::i32, Legal);
885 SDValue GA = DAG.getTargetGlobalAddress(GV, dl, MVT::i32);
886 SDValue Hi = DAG.getNode(SPISD::Hi, dl, MVT::i32, GA);
887 SDValue Lo = DAG.getNode(SPISD::Lo, dl, MVT::i32, GA);
890 return DAG.getNode(ISD::ADD, dl, MVT::i32, Lo, Hi);
894 SDValue RelAddr = DAG.getNode(ISD::ADD, dl, MVT::i32, Lo, Hi);
895 SDValue AbsAddr = DAG.getNode(ISD::ADD, dl, MVT::i32,
907 SDValue CP = DAG.getTargetConstantPool(C, MVT::i32, N->getAlignment());
908 SDValue Hi = DAG.getNode(SPISD::Hi, dl, MVT::i32, CP);
909 SDValue Lo = DAG.getNode(SPISD::Lo, dl, MVT::i32, CP);
911 return DAG.getNode(ISD::ADD, dl, MVT::i32, Lo, Hi);
915 SDValue RelAddr = DAG.getNode(ISD::ADD, dl, MVT::i32, Lo, Hi);
916 SDValue AbsAddr = DAG.getNode(ISD::ADD, dl, MVT::i32,
925 assert(Op.getValueType() == MVT::i32);
926 Op = DAG.getNode(SPISD::FTOI, dl, MVT::f32, Op.getOperand(0));
927 return DAG.getNode(ISD::BITCAST, dl, MVT::i32, Op);
932 assert(Op.getOperand(0).getValueType() == MVT::i32);
933 SDValue Tmp = DAG.getNode(ISD::BITCAST, dl, MVT::f32, Op.getOperand(0));
953 if (LHS.getValueType() == MVT::i32) {
955 VTs.push_back(MVT::i32);
956 VTs.push_back(MVT::Glue);
962 CompareFlag = DAG.getNode(SPISD::CMPFCC, dl, MVT::Glue, LHS, RHS);
966 return DAG.getNode(Opc, dl, MVT::Other, Chain, Dest,
967 DAG.getConstant(SPCC, MVT::i32), CompareFlag);
984 if (LHS.getValueType() == MVT::i32) {
987 VTs.push_back(MVT::Glue);
993 CompareFlag = DAG.getNode(SPISD::CMPFCC, dl, MVT::Glue, LHS, RHS);
998 DAG.getConstant(SPCC, MVT::i32), CompareFlag);
1010 DAG.getNode(ISD::ADD, dl, MVT::i32,
1011 DAG.getRegister(SP::I6, MVT::i32),
1013 MVT::i32));
1026 SDValue VAList = DAG.getLoad(MVT::i32, dl, InChain, VAListPtr,
1029 SDValue NextPtr = DAG.getNode(ISD::ADD, dl, MVT::i32, VAList,
1031 MVT::i32));
1037 if (VT != MVT::f64)
1042 SDValue V = DAG.getLoad(MVT::i64, dl, InChain, VAList, MachinePointerInfo(),
1047 DAG.getNode(ISD::BITCAST, dl, MVT::f64, V),
1059 SDValue SP = DAG.getCopyFromReg(Chain, dl, SPReg, MVT::i32);
1060 SDValue NewSP = DAG.getNode(ISD::SUB, dl, MVT::i32, SP, Size); // Value
1065 SDValue NewVal = DAG.getNode(ISD::ADD, dl, MVT::i32, NewSP,
1066 DAG.getConstant(96, MVT::i32));
1075 dl, MVT::Other, DAG.getEntryNode());
1099 dl, MVT::i32,
1101 FrameAddr = DAG.getLoad(MVT::i32, dl,
1130 dl, MVT::i32,
1133 RetAddr = DAG.getLoad(MVT::i32, dl,