Lines Matching refs:ImageDimIntr
156 const AMDGPU::ImageDimIntrinsicInfo *ImageDimIntr, in simplifyAMDGCNImageIntrinsic() argument
160 AMDGPU::getMIMGLZMappingInfo(ImageDimIntr->BaseOpcode)) { in simplifyAMDGCNImageIntrinsic()
162 dyn_cast<ConstantFP>(II.getOperand(ImageDimIntr->LodIndex))) { in simplifyAMDGCNImageIntrinsic()
166 ImageDimIntr->Dim); in simplifyAMDGCNImageIntrinsic()
169 Args.erase(Args.begin() + ImageDimIntr->LodIndex); in simplifyAMDGCNImageIntrinsic()
177 AMDGPU::getMIMGMIPMappingInfo(ImageDimIntr->BaseOpcode)) { in simplifyAMDGCNImageIntrinsic()
179 dyn_cast<ConstantInt>(II.getOperand(ImageDimIntr->MipIndex))) { in simplifyAMDGCNImageIntrinsic()
183 ImageDimIntr->Dim); in simplifyAMDGCNImageIntrinsic()
186 Args.erase(Args.begin() + ImageDimIntr->MipIndex); in simplifyAMDGCNImageIntrinsic()
194 AMDGPU::getMIMGBiasMappingInfo(ImageDimIntr->BaseOpcode)) { in simplifyAMDGCNImageIntrinsic()
196 dyn_cast<ConstantFP>(II.getOperand(ImageDimIntr->BiasIndex))) { in simplifyAMDGCNImageIntrinsic()
200 ImageDimIntr->Dim); in simplifyAMDGCNImageIntrinsic()
203 Args.erase(Args.begin() + ImageDimIntr->BiasIndex); in simplifyAMDGCNImageIntrinsic()
204 ArgTys.erase(ArgTys.begin() + ImageDimIntr->BiasTyArg); in simplifyAMDGCNImageIntrinsic()
212 AMDGPU::getMIMGOffsetMappingInfo(ImageDimIntr->BaseOpcode)) { in simplifyAMDGCNImageIntrinsic()
214 dyn_cast<ConstantInt>(II.getOperand(ImageDimIntr->OffsetIndex))) { in simplifyAMDGCNImageIntrinsic()
218 OffsetMappingInfo->NoOffset, ImageDimIntr->Dim); in simplifyAMDGCNImageIntrinsic()
221 Args.erase(Args.begin() + ImageDimIntr->OffsetIndex); in simplifyAMDGCNImageIntrinsic()
231 AMDGPU::getMIMGBaseOpcodeInfo(ImageDimIntr->BaseOpcode); in simplifyAMDGCNImageIntrinsic()
244 return modifyIntrinsicCall(II, *User, ImageDimIntr->Intr, IC, in simplifyAMDGCNImageIntrinsic()
262 AMDGPU::getMIMGBaseOpcodeInfo(ImageDimIntr->BaseOpcode)->Sampler; in simplifyAMDGCNImageIntrinsic()
267 for (unsigned OperandIndex = ImageDimIntr->GradientStart; in simplifyAMDGCNImageIntrinsic()
268 OperandIndex < ImageDimIntr->VAddrEnd; OperandIndex++) { in simplifyAMDGCNImageIntrinsic()
272 if (OperandIndex < ImageDimIntr->CoordStart || in simplifyAMDGCNImageIntrinsic()
273 ImageDimIntr->GradientStart == ImageDimIntr->CoordStart) { in simplifyAMDGCNImageIntrinsic()
281 assert(OperandIndex == ImageDimIntr->GradientStart || in simplifyAMDGCNImageIntrinsic()
290 if (!OnlyDerivatives && ImageDimIntr->NumBiasArgs != 0) { in simplifyAMDGCNImageIntrinsic()
291 Value *Bias = II.getOperand(ImageDimIntr->BiasIndex); in simplifyAMDGCNImageIntrinsic()
298 if (OnlyDerivatives && (!ST->hasG16() || ImageDimIntr->GradientStart == in simplifyAMDGCNImageIntrinsic()
299 ImageDimIntr->CoordStart)) in simplifyAMDGCNImageIntrinsic()
307 ArgTys[ImageDimIntr->GradientTyArg] = CoordType; in simplifyAMDGCNImageIntrinsic()
309 ArgTys[ImageDimIntr->CoordTyArg] = CoordType; in simplifyAMDGCNImageIntrinsic()
312 if (ImageDimIntr->NumBiasArgs != 0) in simplifyAMDGCNImageIntrinsic()
313 ArgTys[ImageDimIntr->BiasTyArg] = Type::getHalfTy(II.getContext()); in simplifyAMDGCNImageIntrinsic()
317 OnlyDerivatives ? ImageDimIntr->CoordStart : ImageDimIntr->VAddrEnd; in simplifyAMDGCNImageIntrinsic()
318 for (unsigned OperandIndex = ImageDimIntr->GradientStart; in simplifyAMDGCNImageIntrinsic()
325 if (!OnlyDerivatives && ImageDimIntr->NumBiasArgs != 0) { in simplifyAMDGCNImageIntrinsic()
326 Value *Bias = II.getOperand(ImageDimIntr->BiasIndex); in simplifyAMDGCNImageIntrinsic()
327 Args[ImageDimIntr->BiasIndex] = convertTo16Bit(*Bias, IC.Builder); in simplifyAMDGCNImageIntrinsic()
1271 if (const AMDGPU::ImageDimIntrinsicInfo *ImageDimIntr = in instCombineIntrinsic() local
1273 return simplifyAMDGCNImageIntrinsic(ST, ImageDimIntr, II, IC); in instCombineIntrinsic()