Home | History | Annotate | Download | only in R600

Lines Matching refs:STORE

87 // Find a larger type to do a load / store of a vector with.
93 assert(StoreSize % 32 == 0 && "Store size not a multiple of 32");
134 // Lower floating point store/load to integer store/load to reduce the number
136 setOperationAction(ISD::STORE, MVT::f32, Promote);
137 AddPromotedToType(ISD::STORE, MVT::f32, MVT::i32);
139 setOperationAction(ISD::STORE, MVT::v2f32, Promote);
140 AddPromotedToType(ISD::STORE, MVT::v2f32, MVT::v2i32);
142 setOperationAction(ISD::STORE, MVT::i64, Promote);
143 AddPromotedToType(ISD::STORE, MVT::i64, MVT::v2i32);
145 setOperationAction(ISD::STORE, MVT::v4f32, Promote);
146 AddPromotedToType(ISD::STORE, MVT::v4f32, MVT::v4i32);
148 setOperationAction(ISD::STORE, MVT::v8f32, Promote);
149 AddPromotedToType(ISD::STORE, MVT::v8f32, MVT::v8i32);
151 setOperationAction(ISD::STORE, MVT::v16f32, Promote);
152 AddPromotedToType(ISD::STORE, MVT::v16f32, MVT::v16i32);
154 setOperationAction(ISD::STORE, MVT::f64, Promote);
155 AddPromotedToType(ISD::STORE, MVT::f64, MVT::i64);
157 setOperationAction(ISD::STORE, MVT::v2f64, Promote);
158 AddPromotedToType(ISD::STORE, MVT::v2f64, MVT::v2i64);
162 setOperationAction(ISD::STORE, MVT::v4i32, Custom);
165 setOperationAction(ISD::STORE, MVT::v2i32, Custom);
572 case ISD::STORE: {
1041 StoreSDNode *Store = cast<StoreSDNode>(Op);
1042 EVT MemVT = Store->getMemoryVT();
1046 // truncating store into an i32 store.
1053 SDValue Value = Store->getValue();
1056 SDValue Ptr = Store->getBasePtr();
1084 return DAG.getTruncStore(Store->getChain(), DL, PackedValue, Ptr,
1085 Store->getMemOperand()->getPointerInfo(),
1087 Store->isNonTemporal(), Store->isVolatile(),
1088 Store->getAlignment());
1091 return DAG.getStore(Store->getChain(), DL, PackedValue, Ptr,
1092 Store->getMemOperand()->getPointerInfo(),
1093 Store->isVolatile(), Store->isNonTemporal(),
1094 Store->getAlignment());
1099 StoreSDNode *Store = cast<StoreSDNode>(Op);
1100 EVT MemEltVT = Store->getMemoryVT().getVectorElementType();
1101 EVT EltVT = Store->getValue().getValueType().getVectorElementType();
1102 EVT PtrVT = Store->getBasePtr().getValueType();
1103 unsigned NumElts = Store->getMemoryVT().getVectorNumElements();
1110 Store->getValue(), DAG.getConstant(i, MVT::i32));
1112 Store->getBasePtr(),
1115 Chains.push_back(DAG.getTruncStore(Store->getChain(), SL, Val, Ptr,
1116 MachinePointerInfo(Store->getMemOperand()->getValue()),
1117 MemEltVT, Store->isVolatile(), Store->isNonTemporal(),
1118 Store->getAlignment()));
1229 StoreSDNode *Store = cast<StoreSDNode>(Op);
1230 SDValue Chain = Store->getChain();
1231 if ((Store->getAddressSpace() == AMDGPUAS::LOCAL_ADDRESS ||
1232 Store->getAddressSpace() == AMDGPUAS::PRIVATE_ADDRESS) &&
1233 Store->getValue().getValueType().isVector()) {
1237 EVT MemVT = Store->getMemoryVT();
1238 if (Store->getAddressSpace() == AMDGPUAS::PRIVATE_ADDRESS &&
1241 if (Store->getMemoryVT() == MVT::i8) {
1243 } else if (Store->getMemoryVT() == MVT::i16) {
1246 SDValue BasePtr = Store->getBasePtr();
1259 Store->getValue());