Lines Matching refs:SDValue

26 static inline bool isNullConstantOrUndef(SDValue V) {  in isNullConstantOrUndef()
34 static inline bool getConstantValue(SDValue N, uint32_t &Out) { in getConstantValue()
112 std::pair<SDValue, SDValue> foldFrameIndex(SDValue N) const;
113 bool isNoNanSrc(SDValue N) const;
143 bool isBaseWithConstantOffset64(SDValue Addr, SDValue &LHS,
144 SDValue &RHS) const;
148 SDNode *glueCopyToOp(SDNode *N, SDValue NewChain, SDValue Glue) const;
149 SDNode *glueCopyToM0(SDNode *N, SDValue Val) const;
153 virtual bool SelectADDRVTX_READ(SDValue Addr, SDValue &Base, SDValue &Offset);
154 virtual bool SelectADDRIndirect(SDValue Addr, SDValue &Base, SDValue &Offset);
155 bool isDSOffsetLegal(SDValue Base, unsigned Offset) const;
156 bool isDSOffset2Legal(SDValue Base, unsigned Offset0, unsigned Offset1,
158 bool SelectDS1Addr1Offset(SDValue Ptr, SDValue &Base, SDValue &Offset) const;
159 bool SelectDS64Bit4ByteAligned(SDValue Ptr, SDValue &Base, SDValue &Offset0,
160 SDValue &Offset1) const;
161 bool SelectDS128Bit8ByteAligned(SDValue Ptr, SDValue &Base, SDValue &Offset0,
162 SDValue &Offset1) const;
163 bool SelectDSReadWrite2(SDValue Ptr, SDValue &Base, SDValue &Offset0,
164 SDValue &Offset1, unsigned Size) const;
165 bool SelectMUBUF(SDValue Addr, SDValue &SRsrc, SDValue &VAddr,
166 SDValue &SOffset, SDValue &Offset, SDValue &Offen,
167 SDValue &Idxen, SDValue &Addr64) const;
168 bool SelectMUBUFAddr64(SDValue Addr, SDValue &SRsrc, SDValue &VAddr,
169 SDValue &SOffset, SDValue &Offset) const;
170 bool SelectMUBUFScratchOffen(SDNode *Parent, SDValue Addr, SDValue &RSrc,
171 SDValue &VAddr, SDValue &SOffset,
172 SDValue &ImmOffset) const;
173 bool SelectMUBUFScratchOffset(SDNode *Parent, SDValue Addr, SDValue &SRsrc,
174 SDValue &Soffset, SDValue &Offset) const;
176 bool SelectMUBUFOffset(SDValue Addr, SDValue &SRsrc, SDValue &Soffset,
177 SDValue &Offset) const;
179 bool SelectFlatOffsetImpl(SDNode *N, SDValue Addr, SDValue &VAddr,
180 SDValue &Offset, uint64_t FlatVariant) const;
181 bool SelectFlatOffset(SDNode *N, SDValue Addr, SDValue &VAddr,
182 SDValue &Offset) const;
183 bool SelectGlobalOffset(SDNode *N, SDValue Addr, SDValue &VAddr,
184 SDValue &Offset) const;
185 bool SelectScratchOffset(SDNode *N, SDValue Addr, SDValue &VAddr,
186 SDValue &Offset) const;
187 bool SelectGlobalSAddr(SDNode *N, SDValue Addr, SDValue &SAddr,
188 SDValue &VOffset, SDValue &Offset) const;
189 bool SelectScratchSAddr(SDNode *N, SDValue Addr, SDValue &SAddr,
190 SDValue &Offset) const;
191 bool checkFlatScratchSVSSwizzleBug(SDValue VAddr, SDValue SAddr,
193 bool SelectScratchSVAddr(SDNode *N, SDValue Addr, SDValue &VAddr,
194 SDValue &SAddr, SDValue &Offset) const;
196 bool SelectSMRDOffset(SDValue Base, SDValue ByteOffsetNode, SDValue *SOffset,
197 SDValue *Offset, bool Imm32Only = false) const;
198 SDValue Expand32BitAddress(SDValue Addr) const;
199 bool SelectSMRDBaseOffset(SDValue Addr, SDValue &SBase, SDValue *SOffset,
200 SDValue *Offset, bool Imm32Only = false) const;
201 bool SelectSMRD(SDValue Addr, SDValue &SBase, SDValue *SOffset,
202 SDValue *Offset, bool Imm32Only = false) const;
203 bool SelectSMRDImm(SDValue Addr, SDValue &SBase, SDValue &Offset) const;
204 bool SelectSMRDImm32(SDValue Addr, SDValue &SBase, SDValue &Offset) const;
205 bool SelectSMRDSgpr(SDValue Addr, SDValue &SBase, SDValue &SOffset) const;
206 bool SelectSMRDSgprImm(SDValue Addr, SDValue &SBase, SDValue &SOffset,
207 SDValue &Offset) const;
208 bool SelectSMRDBufferImm(SDValue Addr, SDValue &Offset) const;
209 bool SelectSMRDBufferImm32(SDValue Addr, SDValue &Offset) const;
210 bool SelectMOVRELOffset(SDValue Index, SDValue &Base, SDValue &Offset) const;
212 bool SelectVOP3Mods_NNaN(SDValue In, SDValue &Src, SDValue &SrcMods) const;
213 bool SelectVOP3ModsImpl(SDValue In, SDValue &Src, unsigned &SrcMods,
215 bool SelectVOP3Mods(SDValue In, SDValue &Src, SDValue &SrcMods) const;
216 bool SelectVOP3BMods(SDValue In, SDValue &Src, SDValue &SrcMods) const;
217 bool SelectVOP3NoMods(SDValue In, SDValue &Src) const;
218 bool SelectVOP3Mods0(SDValue In, SDValue &Src, SDValue &SrcMods,
219 SDValue &Clamp, SDValue &Omod) const;
220 bool SelectVOP3BMods0(SDValue In, SDValue &Src, SDValue &SrcMods,
221 SDValue &Clamp, SDValue &Omod) const;
222 bool SelectVOP3NoMods0(SDValue In, SDValue &Src, SDValue &SrcMods,
223 SDValue &Clamp, SDValue &Omod) const;
225 bool SelectVINTERPModsImpl(SDValue In, SDValue &Src, SDValue &SrcMods,
227 bool SelectVINTERPMods(SDValue In, SDValue &Src, SDValue &SrcMods) const;
228 bool SelectVINTERPModsHi(SDValue In, SDValue &Src, SDValue &SrcMods) const;
230 bool SelectVOP3OMods(SDValue In, SDValue &Src, SDValue &Clamp,
231 SDValue &Omod) const;
233 bool SelectVOP3PMods(SDValue In, SDValue &Src, SDValue &SrcMods,
235 bool SelectVOP3PModsDOT(SDValue In, SDValue &Src, SDValue &SrcMods) const;
237 bool SelectDotIUVOP3PMods(SDValue In, SDValue &Src) const;
238 bool SelectWMMAOpSelVOP3PMods(SDValue In, SDValue &Src) const;
240 bool SelectVOP3OpSel(SDValue In, SDValue &Src, SDValue &SrcMods) const;
242 bool SelectVOP3OpSelMods(SDValue In, SDValue &Src, SDValue &SrcMods) const;
243 bool SelectVOP3PMadMixModsImpl(SDValue In, SDValue &Src,
245 bool SelectVOP3PMadMixMods(SDValue In, SDValue &Src, SDValue &SrcMods) const;
247 SDValue getHi16Elt(SDValue In) const;
249 SDValue getMaterializedScalarImm32(int64_t Val, const SDLoc &DL) const;
259 SDNode *getBFE32(bool IsSigned, const SDLoc &DL, SDValue Val, uint32_t Offset,