@@ -1414,32 +1414,42 @@ bool SITargetLowering::getTgtMemIntrinsic(IntrinsicInfo &Info,
14141414bool SITargetLowering::getAddrModeArguments(IntrinsicInst *II,
14151415 SmallVectorImpl<Value*> &Ops,
14161416 Type *&AccessTy) const {
1417+ Value *Ptr = nullptr;
14171418 switch (II->getIntrinsicID()) {
1418- case Intrinsic::amdgcn_global_load_tr:
1419- case Intrinsic::amdgcn_ds_ordered_add:
1420- case Intrinsic::amdgcn_ds_ordered_swap:
1419+ case Intrinsic::amdgcn_atomic_cond_sub_u32:
14211420 case Intrinsic::amdgcn_ds_append:
14221421 case Intrinsic::amdgcn_ds_consume:
14231422 case Intrinsic::amdgcn_ds_fadd:
1424- case Intrinsic::amdgcn_ds_fmin:
14251423 case Intrinsic::amdgcn_ds_fmax:
1426- case Intrinsic::amdgcn_global_atomic_fadd:
1424+ case Intrinsic::amdgcn_ds_fmin:
1425+ case Intrinsic::amdgcn_ds_ordered_add:
1426+ case Intrinsic::amdgcn_ds_ordered_swap:
14271427 case Intrinsic::amdgcn_flat_atomic_fadd:
1428- case Intrinsic::amdgcn_flat_atomic_fmin :
1428+ case Intrinsic::amdgcn_flat_atomic_fadd_v2bf16 :
14291429 case Intrinsic::amdgcn_flat_atomic_fmax:
1430- case Intrinsic::amdgcn_flat_atomic_fmin_num:
14311430 case Intrinsic::amdgcn_flat_atomic_fmax_num:
1431+ case Intrinsic::amdgcn_flat_atomic_fmin:
1432+ case Intrinsic::amdgcn_flat_atomic_fmin_num:
1433+ case Intrinsic::amdgcn_global_atomic_csub:
1434+ case Intrinsic::amdgcn_global_atomic_fadd:
14321435 case Intrinsic::amdgcn_global_atomic_fadd_v2bf16:
1433- case Intrinsic::amdgcn_flat_atomic_fadd_v2bf16:
1434- case Intrinsic::amdgcn_global_atomic_csub: {
1435- Value *Ptr = II->getArgOperand(0);
1436- AccessTy = II->getType();
1437- Ops.push_back(Ptr);
1438- return true;
1439- }
1436+ case Intrinsic::amdgcn_global_atomic_fmax:
1437+ case Intrinsic::amdgcn_global_atomic_fmax_num:
1438+ case Intrinsic::amdgcn_global_atomic_fmin:
1439+ case Intrinsic::amdgcn_global_atomic_fmin_num:
1440+ case Intrinsic::amdgcn_global_atomic_ordered_add_b64:
1441+ case Intrinsic::amdgcn_global_load_tr:
1442+ Ptr = II->getArgOperand(0);
1443+ break;
1444+ case Intrinsic::amdgcn_global_load_lds:
1445+ Ptr = II->getArgOperand(1);
1446+ break;
14401447 default:
14411448 return false;
14421449 }
1450+ AccessTy = II->getType();
1451+ Ops.push_back(Ptr);
1452+ return true;
14431453}
14441454
14451455bool SITargetLowering::isLegalFlatAddressingMode(const AddrMode &AM,
0 commit comments