• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/

Lines Matching refs:AM

1191 bool SITargetLowering::isLegalFlatAddressingMode(const AddrMode &AM) const {
1195 return AM.BaseOffs == 0 && AM.Scale == 0;
1198 return AM.Scale == 0 &&
1199 (AM.BaseOffs == 0 || Subtarget->getInstrInfo()->isLegalFLATOffset(
1200 AM.BaseOffs, AMDGPUAS::FLAT_ADDRESS,
1204 bool SITargetLowering::isLegalGlobalAddressingMode(const AddrMode &AM) const {
1206 return AM.Scale == 0 &&
1207 (AM.BaseOffs == 0 || Subtarget->getInstrInfo()->isLegalFLATOffset(
1208 AM.BaseOffs, AMDGPUAS::GLOBAL_ADDRESS,
1221 return isLegalFlatAddressingMode(AM);
1224 return isLegalMUBUFAddressingMode(AM);
1227 bool SITargetLowering::isLegalMUBUFAddressingMode(const AddrMode &AM) const {
1237 if (!isUInt<12>(AM.BaseOffs))
1243 switch (AM.Scale) {
1249 if (AM.HasBaseReg) {
1263 const AddrMode &AM, Type *Ty,
1266 if (AM.BaseGV)
1270 return isLegalGlobalAddressingMode(AM);
1278 if (AM.BaseOffs % 4 != 0)
1279 return isLegalMUBUFAddressingMode(AM);
1286 return isLegalGlobalAddressingMode(AM);
1290 if (!isUInt<8>(AM.BaseOffs / 4))
1295 if (!isUInt<32>(AM.BaseOffs / 4))
1299 if (!isUInt<20>(AM.BaseOffs))
1304 if (AM.Scale == 0) // r + i or just i, depending on HasBaseReg.
1307 if (AM.Scale == 1 && AM.HasBaseReg)
1313 return isLegalMUBUFAddressingMode(AM);
1320 if (!isUInt<16>(AM.BaseOffs))
1323 if (AM.Scale == 0) // r + i or just i, depending on HasBaseReg.
1326 if (AM.Scale == 1 && AM.HasBaseReg)
1337 return isLegalFlatAddressingMode(AM);
1341 return isLegalGlobalAddressingMode(AM);
8576 AddrMode AM;
8577 AM.HasBaseReg = true;
8578 AM.BaseOffs = Offset.getSExtValue();
8579 if (!isLegalAddressingMode(DCI.DAG.getDataLayout(), AM, Ty, AddrSpace))